Spamalot - driver bedragarna till vansinne

Genom Nikke's index hittade jag info om forskningsprojektet Spamalot som utvecklas på University of Illinois in Chicago.

Det handlar om ett robotsystem designat för att kunna uppehålla bedragare i konversioner som aldrig tar slut. Systemet svarar på email och ber hela tiden bedragaren om mer information samt ber denne att ringa upp per telefon. Den kan även anta några olika personaliteret så att bedragaren inte ska lära känna mönster i svaren.

Några stackare gick verkligen på det hela under testperioden och man kan se emailkonversioner samt lyssna på några av de inspelade meddelandena från telefonsvararen.

Även om det inte verkar handla om nån riktigt "stark AI" så är det en rolig idé som jag hoppas på att vi får se mer av.

By Jesper Lind

Adressregistret PAR = finspam

Vi fick för någon månad sen fått en inbjudan till att vara med i adressregistret PAR men lade det brevet i "undersök vad det är senare"-högen. För en vecka sen fick vi en påminnelse och en uppmaning att komplettera våra uppgifter i registret. Det står att det är kostnadsfritt att delta, men någon omfattande beskrivning vad det innebär finns inte i brevet. Inte heller hur man ska göra ifall man inte vill vara med.

Idag läser jag Internetworlds artikel "Så värvar du kunder med finspam" och förstår lite mer vad PAR-registret används till. Företag kan använda registret för att skicka ut reklamerbjudanden via email. Bra att man nu vet vad det handlar om, det tycker jag PAR borde ha förklarat lite bättre i de pappersbrev vi fått. Fler erbjudanden på email är något vi inte riktigt behöver, så nej tack. Vill vi köpa en tjänst eller vara så letar vi helt enkelt upp den själva - när vi behöver den.

By Jesper Lind

De outtröttliga spam-robotarna

Igår kväll kollade jag genom min inkommande trafik till sidan. Såg då att någon stackare klickat sig in till vår hemsida från Windows Live på ett snuskigt engelskt uttryck. Denne besökare måste ha blivit ganska så besviken att hamna här för det var nog inte det han ville.

Hur som helst blev jag nyfiken på hur sökmotorn från Microsoft kunde hitta denna term på vår hemsida. Vi skriver ju inte om porr här och har absolut aldrig använt den termen som det handlade om. Jag sökte alltså på den i W-Live men kunde aldrig se vår hemsida på de första 30 sidorna i resultaten. Så detta förblir ett mysterium ett tag till.

Medans jag sökte på den snuskiga termen så hittade jag dock något annat intressant i resultaten. En url till en sub domän på det välkända företaget Eastpoint Media. Förundrad över vad de kunde finnas för porrelaterat på deras domän besökte jag adressen och hittade en gästbok helt överfull med spam.

Skickade vidare infon till Nikke eftersom han brukar ha intressanta tankar om SEO-företag. Han skrev sedan ett inlägg om det där han reflekterar över vådan av kommentarspam.

Att spam tar över en sida på det här sättet är väldigt vanligt, speciellt på sidor som använder lite äldre teknik. Sidan hos Eastpoint som är så spamfylld ligger antagligen kvar som en gammal rest från tidigare utveckling. Den har nog glömts bort och legat där och samlat spam ett bra tag.

Såna sidor är väldigt vanliga och i sökresultaten som jag just kollade hittade jag många fler, tex en på Unka.se.

Sen måste jag erkänna att jag själv var ansvarig för en liknande gästbok som låg hos en kund och samlade spam till bara för någon månad sen. Nu är den dock uppgraderad till ASP.NET och spammet har stoppat helt. Så nu har jag bättre samvete i denna fråga.

Men jag skulle tipsa andra utvecklare att se över sina gamla sidor, det är inget bra att ha såna här gamla applikationer som ligger och skräpar. Dels så växer era databaser och tar en massa utrymme. Sen skräpas sökresultaten ner ordentligt och det blir svårare att hitta relevant information.

Hur kan man stoppa spam?

Så vad gör man om man har problem med webbspam? Om du använder Wordpress har jag hört att tillägget Akismet fungerar väldigt bra. Läs t ex på TechCrunch hur det stoppar runt 15000 spam varje dag i deras blogg.

Om du utvecklar din egen blogg så kan du göra ditt eget skydd. media:screen berättade ett tag sen hur de stoppade spam på ett relativt enkelt sätt. De ville inte göra det för besvärligt för besökarna att lämna kommentarer, vilket är klokt.

Att använda en så kallad CAPTCHA-funktion är ett annat sätt som är rätt vanligt. Dock kan detta hämna besökare att lämna kommentar vilket inte är så bra. Gör den absolut inte så överdrivet komplicerad som i detta exemplet.

Här på Code Odyssey har vi inga spam-problem hittills vilket nästan är lite tråkigt. Det enda försöket har varit den kinesiska spammaren, men där rörde det sig nog om en människa.

Ska inte klaga för mycket men tycker det endå är lite roligt att se hur spam-robotar fungerar och lista ut sätt att överlista dem. Vi använder ASP.NET och enligt min erfarenhet så stoppar ramverket spam nästa automatiskt. Det vore väldigt intressant att höra av någon annan som har problem med spam på applikationer som kör ASP.NET.

Om nu spammet skulle komma igång så har jag tänkt att prova på NoBot i ASP.NET Ajax Control Toolkit. Denna ska enligt beskrivning känna av att mönstret på postningen liknar en människas aktivitet och stoppa de ovälkomna botsen.

By Jesper Lind

Billigt webbhotell med lite mailstrul

Vi har tyvärr haft lite problem med att ta emot email den senaste veckan, fast bara på vår engelska domän (codeodyssey.com). Kontaktformuläret har dock inte fungerat på någon av våra två sajter, så har ni försökt ta kontakta det senaste så ber vi er försöka igen.

Det hela verkar bero på att vårt webbhotell, Web10.se, har en del problem när de genomfört ett byte av mailservrar. De har fortfarande inte löst det helt.

Men jag kan konstatera att det nya webbmail som är baserad på Sun Java System Communications Express 6 2005Q4 verkar riktigt bra. Förhoppningsvis ska mailen leveraras lite snabbare nu också. Innan har vi märkt en fördröjning på 10-20 minuter.

Sen verkar det som att vi äntligen fått en spamfilter på mailservern. Har sett att jobbiga mail markeras med [!RBLs] i ämnesraden. Har inte kollat något mer ingående på detta men ett spamfilter är verkligen uppskattat.

Om de även kan installera ASP.NET AJAX på servrarna, så kommer vi nog ligga kvar där ett tag till.

Kan verkligen rekommendera Web10.se för er som letar efter ett lite billigare webbhotell men ändå med väldigt bra support.

By Jesper Lind

Tysk sajt listar webbplatser sårbara mot XSS

För ett tag sen visades det sig att Google indexerade en XSS-länk riktad mot FBI's hemsida (skärmdump).

Precis som väntat ökar nu hoten via cross-site-scripting och ha.ckers.org skriver om en tysk sajt som tillhandahåller en topplista över webbplatser öppna mot XSS-attacker.

Listan riktar sig främst till "black-hat"-optimerare som kan använda sårbarheterna för att injicera sin egen kod på url:erna för webbplatserna, och på så sätt kunna lägga in egna länkar och nyckelord. För att spamma sökresultaten alltså. Bredvid varje adress finns PR-värdet utskrivet så de lätt ska kunna välja ut mål som lönar sig.

Listan visar just nu framför allt tyska adresser men även en dansk webbshop finns med. Inga svenska adresser än så länge. Att listan toppas av det kända säkerhetsföretaget Verisign är minst sagt lite oroväckande. Just denna sårbarhet har jag inte haft möjlighet att bekräfta eftersom man måste be om tillgång från sajtägarna.

Många av de andra säkerhetshålen fungerar dock och personerna som driver sajten visar exempel på sårbarheter med reklaminlägg för deras egna tjänster – de erbjuder att förklara hur man stoppar säkerhetsproblemen.

Eftersom XSS-kod är vanlig javascript så är svårigheten att skilja på elak kod från den ordinära. Varje kodbit kan även skrivas med stort antal variationer genom att t ex använda hexdecimala tecken som försvårar identifiering ytterligare.

Så länge sökmotorerna fortsätter att indexera dessa övertagna adresser så kommer problemen att fortsätta. Det är inte heller många sajtägare som ännu har fått upp ögonen för denna typ av attack. Risken att bli avstängd från sökmotorerna är så stor om du har sårbarheter som dessa och en illvillig person börjar att utnyttja dem för att sprida eget innehåll som visas under din domän.

Uppdatering: Jag blev just kontaktad beNI som äger sidan jag skrivit om. På hans begäran har jag gjort en översättning av inlägget till engelska.

Codeodyssey.com: List of web sites vulnerable to XSS

By Jesper Lind

Google-bomber desarmeras och länkstrategier omvärderas

Som du säkert redan har läst om så har Google sett till att det inte går att manipulera sökresultaten lika lätt längre.

Nikke Index skriver mer om det:

Under mer än två år har Vita Husets sida om George W Bush, till stor glädje för många, legat etta när man har sökt på Google efter de två orden [miserable failure]. Så icke längre. Anledningen var att hundra tusentals webbsidor länkade till sidan med de två orden i länktexten. Men så icke längre. Härom dagen satte Google stopp för denna typ av länkkampanjer, som har gått under termen Google-bomber.

Den förändring som gjort är troligen denna:

  1. Söktermen måste faktiskt nämnas på sidan som ska placera sig i sökresultaten.
    (textsträngen [miserable failure] nämns ingenstans på whitehouse.gov)
  2. Sajten som sidan finns på bör ha interna länkar som innehåller termen som söks.

Nikke fortsätter att i ett annat inlägg att reda ut vad detta har för effekt på sökoptimeringsarbete generellt sett.

Nu måste sökoptimeringsföretagen se till att utföra ett bättre arbete på själva webbplatsen. Det räcker inte längre att lägga upp mängder av söktermer i kataloger och länkfarmar. Rena spam-aktioner kommer troligtsvis också försvåras avsevärt.

En annan nyhet är att andra stora webbplatser nu ser över sina länkstrategier. Wikipedia beslutar att lägga in nofollow-attribut på alla externa länkar. Detta så att sökmotorerna inte ska lägga så stor vikt vid dem i rankningen. Den svenska katalogen Sunet följer i samma spår.

Förhoppningsvis kommer dessa sammansatta förändringar leda till ett roligare klimat inom sökoptimeringsbranshen, där kvalitet och bra innehåll på själva webbplatserna faktiskt lönar sig.

Mer läsning:
googlewebmastercentral.blogspot.com/
www.mattcutts.com/blog/algorithm-to-reduce-googlebomb-impact/
seoblackhat.com/2007/01/28/google-bomb-update/

 

By Jesper Lind

Första spam-attacken i kommentarera till bloggen

Denna sidan har varit förskonad från spam i kommentererna fram till nu. Idag postades den första till ett av mina inlägg. Nu verkar det dock som att det är en människa som postat kommentaren och ingen spam-bot. Hur som helst är det spam och jag kommer skriva om alla spammningsförsök som görs på mina sajter för att eventuellt kunna hjälpa andra att begränsa detta fenomen.

Spam som postas manuellt av människor finns det ju inte direkt något sätt att motverka. Kommentarer är ju oftast något positivt och det vill man ju inte försvåra för användaren. En grej man kan göra är att inte publisera kommentarerna automatiskt utan ha ett system där man som blogg-administratör först måste godkänna kommentarerna.

I detta fallet postades spammet den 2007-01-21 kl 12:03:55, kommer från IP-nummer 58.34.185.238 och använder webbläsaren IE6. Det verkar vara en surfare från kina eftersom språkinställningarna har koden zh-cn och texten som personen skickade innehållet mängder av nyckelord om kinesisk antik (2987 ord). I kommentaren finns också länkar till webbplatser inom samma område. Man har även lämnat telefonnummer och email uppgifter i spammet så jag kommer kontakta dem för att se om man kan få något svar.

Klicka här för en skärmdump på spammet

By Jesper Lind

Spammare tjuvar på mitt innehåll

http://www.codeodyssey.se/upload/resource/blog/CodeOdyssey-spampirates.png

Jag söker ibland efter innehåll från min egen webbplats på Google för att se om någon använder material från min webbplats. Nyligen tycker jag mig ha sett en ganska kraftig ökning av sidor som snor innehåll och publicerar det på spam-sajter. Just nu finns det bland annat några sökresultat med Poker-relaterade rubriker i Googles cache-sidor som har snyltat på mitt innehåll. Själva sidorna finns dock inte längre kvar. En sida med titeln "Feed FeedBurner On Google" finns dock i skrivandes stund fortfarande uppe på nätet och använder sig av lite innehåll från min webbplats. När jag först hittade länken blev jag nästan lite glad eftersom, sidans titel antyder på att den använder RSS-flöden, vilket dock visade sig vara felaktigt. Den har helt enkelt återanvänt SERPs från Google eller på annat sätt skannat min webbplats. Jag väntar nämligen på att någon ska använda mitt RSS-flöde i spammningssyfte, så att jag får ett skäl att gå till motattack. Den metod som jag då tänker prova är att förgifta RSS-flödet ungefär som ha.ckers.org gjorde.
By Jesper Lind

Dålig standard på svenska sökoptimeringsföretag

Vissa av de företag som kallar sin bransch för sökmotoroptimering (SEO) använder sig tyvärr av en hel del tvivelaktiga metoder. I vissa extrema fall kan det till och med gå så långt att kunden till och med förlorar på deras "tjänster", genom klantiga misstag. Eller för att citera Nikke Lindqvist som skriver i ett inlägg

Det omoraliska i saken är att utsätta betalande kunder för den risk det innebär för dem och deras sajter att tillsammans med andra sajter ha dessa länkar på sina interna sitemaps. Den dag Google uppmärksammar saken och börjar betrakta dessa sitemaps som de länkfarmar de är, är risken stor att sajterna som har dem får se sina sökmotorplaceringar sjunka betydligt.

Vill verkligen tacka Nikke för att han skriver om SEO-skojare i sin blogg. Det fick mig att äntligen skriva denna artikel som jag har viljat göra väldigt länge. Genom hans sida fick jag även ett tips om den anonyma seoblackhat.net som tillkännager att de kommer att skriva om "fusk" på sökmotoroptimerings-marknaden. Ett väldigt bra initiativ tycker jag, ser fram emot att läsa om alla knåpare där ute som har halkat in på SEO-branschens mörkare sidor.

I det första inlägget på SEO Black Hat nämns ett företag som jag har haft lite kontakt med genom vår gemensamma kund. De fick i uppdrag att se över en webbplats som jag hade utvecklat, och att förbättra närvaron på sökmotorerna.

Men jag är inte så säker på att de förklarade exakt vad de skulle inkludera i den nya sitemap-filerna. I alla fall verkade kunden lika förvånad som jag när vi gemensamt hittade dessa under ett möte. För det första var allt mycket dåligt gjort, de hade helt enkelt släppt loss någon slags automatisk sitemap-generator som skapade diverse konstiga kartor över webbplatsen. Fullkomligt obegripliga för de besökare som skulle kunna trilla dit via en sökning.

Det ska även tilläggas att webbplatsen är utvecklad i klassisk asp och utformad som ett fotoalbum i olika kategorier. Bilderna i albumet var inlagda i en frames-sida och lämpade sig inte alls att skapa en sitemap av. Sökoptimeringsföretaget skapade inte minde än 5 stycken sitemaps som bestod av länkar till de olika bilderna i fotoalbumet. Eftersom bilderna låg inom frames-sidan och alla hade samma title så fick alla länkar samma länk-text. Det resulterade i uppskattningsvis 500 länkar med exakt samma ankartext som ligger utspridda på ett helt galet sätt.

Företaget brydde inte ens sig om att länka till någon av sajt-kartorna från webbplatsens huvudsida. Antagligen skämdes de för mycket för resultatet, eller så ville de helt enkelt hålla det hemligt. Och vad är meningen med en sitemap om den inte ens går att hitta från webbplatsens huvudinnehåll? En sajt-karta ska väl av definition vara tillgänglig för besökaren för att kunna få överblick över webbplatsen. Den bör absolut inte användas till att lägga in hemliga länkfarmar för externa irrelevanta webbsidor.

Sedan har de även inkluderat en hel del länkar till andra av deras kunder och givetvis sig själva. Denna länksamling som består av ca 100 länkar till olika företag i ett brokigt urval branscher (Man la sig givetvis precis under gränsen för totala antal länkar som Google rekommenderar att ha på samma sida). Några typer av företag var, pokerföretag, Försäkringsföretag, medicinföretag m.m.

Frågan är bara om kunden verkligen har förstått att de betalar sökoptimerings-företaget pengar, för att göra reklam åt andra helt irrelevanta företag. Borde det inte vara rimligt att det ska vara tvärt om? Och frågan är om de inte skulle vilja bestämma sådana affärsrelationer själva?

Som jag ser det leder sån här typ av länkbyggande till att sänka kvaliteten på nätet. Besökarna kommer tröttna på att hamna på sidor som är byggda för att skapa höga resultat på en artificiell väg. Besökarna kommer klaga hos sökmotorföretagen som kommer tvingas att hitta på en lösning för att stoppa det.

Den typ av optimering leder bara mot snabba resultat inledningsvis. Det är inte den rätta vägen mot att bygga upp en trovärdig marknadsförings-strategi. Jag är till och med övertygad om att det till sist kommer att slå tillbaka, mot alla de som är inblandade med de spammiga sajt-kartorna. Eller de som använder andra tvivelaktiga metoder som bara syftar till att få upp snabba resultat på sökmotorerna.

Och eftersom dessa företag oftast verkar ta betalt för att ha dessa sajt-kartor liggande och bara går in och uppdaterar nån gång per år, så ställer jag mig frågan: Vad händer om man inte vill betala längre, tar de bort filerna från alla partnersidor då? Liknar lite som maffiastil i såna fall. Typ: - "Vi bygger upp din närvaro på nätet, men slutar du att betala, så river vi ner den igen"

Som tur är har all den dåliga uppmärksamhet om SEO-branschen börjat ge effekt. Ju mer information det kommer fram på ämnet desto fler SEO-konsulter kommer gå över till mer ärliga metoder. Under året har Internetworld skrivit en hel del bra artiklar på ämnet och bidragit till större förståelse av vikten att marknadsföra sig på ett snyggt sätt. Inte bara på de gamla traditionella områdena som tv, mässor och trycksaker utan även på internet.

Läs mer på IDG
Sökkonsulternas ljusskygga metoder
Så väljer du rätt seo-konsult

By Jesper Lind

Stoppa spam-bots på din sajt

Jag har spenderat lite tid för att söka efter ett bra sätt, att försvåra för spam-robotar att snappa upp emailadresser på de webbplatser jag jobbar med. Hittade lite olika lösningar som verkar mer eller mindre effektiva.

Lite olika varianter
Först tänkte jag räkna upp några av de sidor som jag besökte innan jag hittade det som kändes bäst för mig. Ett sätt som jag aldrig tänkt på innan är att använda CSS för att skydda adresserna.

Hittade också ett enkelt exempel på en javascript-variant, där man skriver ut adresserna enligt "user at example.org".

Ytterligare ett exempel finns på The Code Project. som använder en BitConverter i Asp.Net för att göra om adresserna, till något som ser ut så här: 64657266406578616D706C652E636F6D. Ett Javascript avkodar sedan strängen, så att de ser ut som vanligt för användaren. Eftersom de flesta spam-bots inte kör javascript så kan de inte se att det är en emailadress.

Använda en HttpModule för att stoppa spam
Den metod som jag valde att använda hittade jag på Webpronews.com. Den gör om emailadresserna till hexadecimala tecken. Och den gör det på ett väldigt smart sätt eftersom den blandar de hexadecimala tecknen med vanliga, enligt en slumpvis algoritm. I en webbläsare ser adresserna helt vanliga ut, men spamrobotarna kommer få problem. Det fina med att använda en HttpModule är ju att ma inte behöver koda om alla sidor på webbplatsen. Modulen tar hand om detta och applicerar det över hela sajten. För att vara ännu säkrare kan man även kombinera denna teknik med en javascript-variant.

Så här lägger man till en referens till modulen i web.config:

<httpModules>
<add type="EmailSpamModule" name="EmailSpamModule" />
</httpModules>

Själva koden för modulen läggs i App_Code och ser ut så här:

#region Using

using System;
using System.IO;
using System.Web;
using System.Text;
using System.Text.RegularExpressions;

#endregion

/// <summary>
/// Removes whitespace from the webpage.
/// </summary>
public class EmailSpamModule : IHttpModule
{

#region IHttpModule Members

void IHttpModule.Dispose()
{
// Nothing to dispose;
}

void IHttpModule.Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}

#endregion

void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
if (app.Request.RawUrl.Contains(".aspx"))
{
app.Response.Filter = new SpamFilter(app.Response.Filter);
}
}

#region Stream filter

private class SpamFilter : Stream
{

public SpamFilter(Stream sink)
{
_sink = sink;
}

private Stream _sink;

#region Properites

public override bool CanRead
{
get { return true; }
}

public override bool CanSeek
{
get { return true; }
}

public override bool CanWrite
{
get { return true; }
}

public override void Flush()
{
_sink.Flush();
}

public override long Length
{
get { return 0; }
}

private long _position;
public override long Position
{
get { return _position; }
set { _position = value; }
}

#endregion

#region Methods

public override int Read(byte[] buffer, int offset, int count)
{
return _sink.Read(buffer, offset, count);
}

public override long Seek(long offset, SeekOrigin origin)
{
return _sink.Seek(offset, origin);
}

public override void SetLength(long value)
{
_sink.SetLength(value);
}

public override void Close()
{
_sink.Close();
}

public override void Write(byte[] buffer, int offset, int count)
{
byte[] data = new byte[count];
Buffer.BlockCopy(buffer, offset, data, 0, count);
string html = System.Text.Encoding.Default.GetString(buffer);

html = EncodeEmails(html);

byte[] outdata = System.Text.Encoding.Default.GetBytes(html);
_sink.Write(outdata, 0, outdata.GetLength(0));
}

private static string EncodeEmails( string html)
{
foreach (Match match in _Regex.Matches(html))
{
html = html.Replace(match.Value, Encode(match.Value));
}
return html;
}

private static Regex _Regex = new Regex("(mailto:|)(\\w+[a-zA-Z0-9.-_]*)@(\\w+).(\\w+)");
private static Random _Random = new Random();

private static string Encode(string value)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < value.Length; i++)
{
if (_Random.Next(2) == 1)
sb.AppendFormat("&#{0};", Convert.ToInt32(value[i]));
else
sb.Append(value[i]);
}

return sb.ToString();
}

#endregion

}

#endregion

}

Jag hoppas att skaparen av detta kod tycker det är okej att jag publicerar den.
In english: I hope that the creator of this code approves that I republish it. If not, just contact me and I will remove it. I also found it here and here.

En prestandavarning
När jag provade på ett riktigt långt html-dokument så fick jag lite oväntade problem. Vet inte riktigt vad det beror på. På kortare sidor fungerar modulen bra.

En bete för bots
Till sist tänkte jag använda metoden för att lägga ut ett bete för spam-botsen. Följande adress har jag skapat endast för denna sidan och jag kommer inte lägga ut den någon annanstans. Får jag ett spam till den adressen så vet jag att en bot har överlistat systemet.

spammeifyoucan@codeodyssey.com

I koden bakom ser denna adress ut som följer, svårt för till och med en spam-bot att fatta.

s&#112;&#97;&#109;m&#101;if&#121;oucan@c&#111;&#100;&#101;o&#100;y&#115;&#115;ey.&#99;o&#109;

By Jesper Lind
1