Firesheep visar på enorma & svårtäppta säkerhetshål på webben: skydd
De flesta webbsajter med login på, autentiserar användaren med hjälp av liten cookie. Om någon kan avlyssna trafiken mellan en besökare och webbsajten - och det är ofta förhållandevis lätt att göra, så kan denne kopiera cookien och får då plötsligt tillgång till besökarens konto, på t ex Facebook.
Detta är inte alldeles enkelt att skydda sig mot. Det bästa skyddet är att man använder https (SSL/TLS) i all kommunikation med sajter som man är inloggad på. Då är cookies krypterade, och kan inte avlyssnas och användas. Problemet är att en webbläsare om den får en cookie från en domän, om man ite speciellt anger det, även kan användas för http-kopplingar mot sajten. http-kopplingar kan dyka upp på en annars SSL-skyddad sajt av fler anledningar:
- Vissa resurser använder inte SSL/TLS (bilder, videos mm), därför att det blir långsamt pga att de:
- inte cachas på webbläsarsidan
- och/eller tar processorkraft på serversidan
- Man har glömt att skydda vissa resurser
- Man låter sina resurser vara del av andras webbsajter (som t ex Facebooks "Like"-knappar) och har inte skyddat dessa med https (SSL/TLS)
Eftersom många sociala sajter tillåter att deras resurser används på andra sajter (som webbuggar t ex), är det väldigt svårt som webbanvändare att veta vilka webbsajter ens webbläsare kommunicerar med i ett givet ögonblick.
Hur skyddar man sig?
- Det bästa verkar vara att se till att ens webbläsare bara accepterar cookies från SSL-adresser som har secure-flaggan satt på cookies. Sådana cookies skickas aldrig av webbläsaren över en okrypterad länk. Jag har inte sett någon sådan plugin som säkerställer detta dock. En variant är att webbläsaren själv sätter secure-flaggan på cookies som kommer från en https-adress.
- Arbeta över ett VPN eller annan krypterad tunnel och sedan göra en riskbedömning på om någon kan avlyssna efter tunnelns slut
Plugins som gör något i alla fall i dag är t ex:
Jag hittade just en gammal Firefox-plugin, Secure Cookies, i vilken bl a följande kod finns (i securecookies.js):
if(topic == "http-on-examine-response" )
{
if(this.secure){
var httpChannel = subject
.QueryInterface(Components.interfaces.nsIHttpChannel);
var cookie = httpChannel.getResponseHeader("Set-Cookie");
//is there a Secure Cookie in the Header
if(cookie.search(/secure/i) != -1)
{
//cookieheader = all not secure cookies
var cookieheader = this.setCookiefromString(cookie, subject.URI);
httpChannel.setResponseHeader("Set-Cookie", cookieheader, false);
cookie = httpChannel.getResponseHeader("Set-Cookie");
}
}
}
Här borde det finnas möjligheter att stoppa in ett obligatoriskt secure-kriterium. Men plugin:en är inte uppdaterad för nyare Firefox, så en del jobb behövs nog.
You can’t simply avoid visiting the sites that are being attacked here. There’s an enormous amount of mixed content on the web today, such as the Facebook “Like” button, Digg’s “Digg It” button, twitter widgets, and even embedded images that are hosted on Flickr or other photo sharing sites. Every time you access any web page that includes any of this content, your browser also sends any authentication cookies you have with the request to pull down the widget. TechCrunch is a great example of this, every article has lots of little widgets to share it on numerous social sites.
Läs mer: Firesheep, a day later - codebutler