Danske banker er lette at hacke!
Forleden dag fik jeg den ide, at jeg ville teste en række af de websites, som jeg forventede ville være sværest at eksekvere simple cross site scripts (XSS) på: Bankerne. Faktisk var jeg overbevist om, at jeg ikke sådan lige ville kunne slippe afsted med den slags på en banks website. Men jeg tog fejl! Det var chokerende let at “slippe ind”. På nogle ganske få minutter lykkedes det mig at eksekvere simple cross site scripts på 5 ud af de 7 banker jeg lynhurtigt testede. 5 ud af 7!
Jeg synes det er meget lidt tillidsvækkende, at jeg, som den latterlige kode-amatør jeg er, kan eksekvere simple cross site scripts på 5 ud af 7 bankers websites sådan lige uden videre. Meget lidt betryggende …
Jeg har skrevet en del om XSS her i bloggen gennem de seneste måneder, og vi har også med jævne mellemrum haft det oppe at vende i mit ugentlige rdioprogram, StrikePoint, på WebmasterRadio.FM. Jeg oplever generelt scross site scripting (XSS) som et stigende problem. Der viser sig flere og flere “kreative” og indbringende måder, at misbruge cross site scripting på, og folk kaster sig øjensynligt frådende over dem.
Min fokus har, som nævnt flere gange, mest været en særlig gruppe af hacks, som jeg kalder “marketing hacks” – det er hacks som typisk ikke handler om at overtage hele webserveren, men “blot” at påvirke det der vises på et website til egen vinding. Dette kan så strække sig fra forholdsvis “uskyldige” cross site scripting links, og til langt mere alvorlig on-site phising angreb.
Jeg skal understrege, at jeg på ingen måde er en super hacker nørd, eller det der ligner. Jeg ved en smule om cross site scripting – nok til at se og teste det jeg har brug for. Men jeg hverken kan, eller vil, foretage de meget avancverede og helt igennem ulovlige ting man også kan med cross site scripting.
De 7 banker jeg testede var følgende:
- Danske Bank
- Nordea Bank
- Jyske Bank
- Nationalbanken
- Skandia Banken
- Amager Banken
- Alm. Brand Bank
5 af disse 7 banker var det som sagt meget let at eksekvere simple cross site scrips på. Det var alt jeg testede. Men når man kan eksekvere disse simple scripts er der meget stor sansynlighed for, at også mere avancerede ting kan eksekveres. Og hvad kan det så føre til …?
Hvis vi starter med at holde os til det som jeg har mest fokus på – “marketing hacks”, så er en af de udbredte måder at udnytte cross site scripting på, at man “indsætter” links på andres websites, uden de ved det. Måske endda på konkurrenters. Jeg vil ikke gå i yderligere detaljer med hvordan du rent praktisk gør alt det her – hvis du ikke allerede ved det, gør du klogest i at holde dig væk fra den slags 🙂
Man kan også lave en viral defacing af en konkurrents website. Det kan gøres ved at injecte noget meget stor tekst der f.eks. siger: “Fuck [din konkurrent] – [dit firma] rocks!”. Omformater URL’en med f.eks. tinyurl.com og seed den de “rigtige” steder. Så har du en negativ viral kampagne kørende på konkurrentes website!
I den mere alvorlige ende af skalaen, kan muligheden for eksekvering af cross site scripts også føre til meget farlige phising angreb. Det er nemlig muligt, at skabe helt egne sider, eller “skjule” scripts på eksisterende sider, så de i stedet for at sende kundernes indtastede informationer til banken, sender dem til bagmanden. Den slags er naturligvis hamrende ulovligt.
Jeg vil ikke fortælle hvilke 5 banker jeg let kunne eksekvere XSS på, og hvilke jeg ikke sådan lige kunne få “hul” på. Jeg vil heller ikke vise dig mine scripts. For min mision er, at lære dig så lidt som muligt om XSS – nok til at du forstår, at det er vigtigt at sikre dine egne websites og applikationer, men for lidt til at du kan starte på denne destruktive aktivitet selv. Håber jeg. Kun med øget fokus og viden om XSS kan vi gøre os håb om at stoppe dette uvæsen. For ja, det er er noget skidt. Det er ikke sundt eller godt for nogen, hvis Nettet er alt for usikkert.
De test jeg lavede var som sagt meget simple og jeg ved ikke hvor meget længere man kan komme på de enkelte bankers websites. Det er muligt der er noget der stopper en, inden man når til de mere alvorlige angrebsmuligheder. Lad os da håbe det. Men når man kan “vade lige ind ad hoveddøren” er det jo nærliggende at tro, at man også kan komme videre. Det er i hvert fald ikke betryggende, synes jeg.
Det skal så siges, at bankerne hverken er værre eller bedre end de fleste andre brancher jeg har set på med XSS-brillerne på. Arhh, måske lidt værre. Det er sjældent jeg ser 5 ud af 7 – men nu ER det her jo heller ingen videnskabelig test. Det er bare mig, glade amatør, der har kigget mig lidt omkring. Det kan være at de næste 10 bank-sites jeg kiggede på var helt sikre. Det aner jeg ikke.
Jeg vil vende tilbage igen ved en senere lejlighed til en snak om hvad man så egentligt kan stille op i forhold til det her med sikkerheden. Hvem går man til? Hvem kan hælpe? Og kan man være sikker på, at den hjælp man så får er god nok? Finder “eksperterne” alle hullerne? … Det kan du læser mere om senere …
Morten Bock skriver
Handler det ikke i høj grad om at man aldrig skal stole på de ting en bruger kan indtaste på ens website? Hvad enten det er i en formular eller i URL parametre?
Altså escape alt hvad der ligner kode?
Mikkel deMib Svendsen skriver
Det er i hvert fald en god start, men det er bare ikke altid nok. Og problemet er at AL kode skal escapes. Den smuter tit. Det jeg ofte oplever er, at 99% af koden er tjekket, men så er der ET sted hvor den er smuttet – f.eks. ved indsættelse af trackin scripts, reklamesystemer o.lign. Og hvis bare der er ET hul, kan man komme ind.
Det største problem er nok, at det er de færreste der fatter at sikkerhed ikke er e statisk størrelse – der skal konstant overvåning til, og meget skrappe interne regler for hvad er må ændres på af koder, og hvordan nye sider o templtes der uploades skal udformes.
Morten skriver
Ja, der er chokerende mange sårbarheder for XSS derude. I mine øjne ser det ligeså slemt ud med hensyn til SQL injection, som folk lader til at være fuldstændigt ligeglade med. Også her forholder det sig ofte sådan, at hvis man er beskyttet, så er det kun 99% af koden, der er sikret mod SQL injection.
En anden sjov ting er Google hacking. Prøv f.eks. at google “employees.xls airport”. Eet af resultaterne er dette her:
http://209.85.135.104/search?q=cache:8qKu5FHoLaUJ:www.fmt.vein.hu/ai_phd/olap/Employees.xls employees.xls airport&hl=da&gl=dk&ct=clnk&cd=2
Man skulle tro den slags oplysninger var lidt bedre gemt af vejen.
Andreas Johannsen skriver
OMFG. Jeg er spændt på, hvordan bankerne reagerer på dette (eller, det er jeg egentlig ikke, for jeg er 100% sikker på, at de aldrig vil indrømme problemer og svagheder af denne art).
Søren Sprogø skriver
En “best practice” når man finder huller i systemer er at give skaberne bag systemerne en “heads up” før man offentligtgør det.
Ikke fordi du afslører særligt meget i posten, men det kunne jo inspirere en hel flok wannabe’s til at prøve, med potentielt katastrofale følger.
Jeg håber du ved hvad du gør Mikkel, der har jo været fortilfælde i Danmark hvor personen der har publiceret informationer omkring sårbarheder er blevet straffet.
Jesper Normann skriver
Selvfølgelig indrømmer de nada. De er sikkert allerede i gang med tjekke deres sikkerhed. Er ellers ved at overveje et skift til en af de nævnte banker, så Mikkel jeg kunne da godt bruge dine oplysninger 🙂
Mikkel deMib Svendsen skriver
> Ikke fordi du afslører særligt meget i posten, men det kunne jo inspirere en hel flok wannabe’s til at prøve, med potentielt katastrofale følger.
Pointen i denne, som i forgående indlæg om XSS er, at ekstremt mange – ja, de fleste, websites er dårligt beskytte mod XSS. Så hvis der er nogle der vil ud og hacke løs er det enormt let at finde “åbne” sites. Det behøver sådanne folk ikke min hjælp til.
Jeg tror iøvrigt ikke man skal regne med at de 2 banker eg ikke lige umidlbart kunne eksekvere XSS på faktisk er sikre. Der kan sagtens være huler jeg bare ikke lige fandt.
Thomas Rosenstand skriver
Huller eller ikke huller – en søgning på Google efter XLS dokumenter (og .doc) for den sags skyld kan give timers god underholdning, hvis man har tid.
Jeg har lige spist aftensmad med en advokat og hans kone – og jeg viste ham dette indlæg. Det er – som Sprogø antyder – ulovligt at afsløre den slags sårbarheder, men næppe på så generelt niveau, som det er tilfældet her.
Til gengæld er det rigtig god link bait – men det er nok heller ikke helt tilfældigt 🙂
Mikkel deMib Svendsen skriver
Ja, jeg ved godt at det kan være ulovligt at afsløre konkrete huller. Det er nu engang den måde lovgivere o dumme advokater mener man bedst beskytter sig. Jeg synes nu heller virksomhederne skulle skære lidt ned på advokatbudgetterne og lidt op for IT-sikkerheds-budgetterne. Det tror jeg de vil få mere og bedre sikkerhed ud af 🙂
Men, jeg er helt overbevist om at det eg skriver i dette indlæg slet ikke nærmer sig det der nu engang er ulovligt. Og de tests der ligger bagved artiklen er jeg helt sikker ikke er ulovlige. Det jeg har gort svarer alene til at tage fat i døren til Nationalbanken, for at se om den er låst – UDEN at gå ind 🙂
Morten skriver
Nu skal man jo ikke tage alt, hvad advokater siger, for gode varer (ved godt, at advokaten ikke har sagt noget om det herinde). Der er absolut intet ulovligt i det, der er skrevet i det her indlæg.
Jeg er enig i, at virksomhederne hellere skulle tænke lidt på IT-sikkerhed frem for advokater. Når det handler om IT-sikkerhed gælder det vel også, at “det er bedre at forebygge end at helbrede/sagsøge”. Men jeg er også enig i, at det er fænomenal “link bait”.
Det er i øvirgt ikke kun xls og doc-dokumenter der vælter rundt på nettet. Sony lancerede jo for noget tid siden et webcam, man kunne fjernstyre via en browser. Alle de der blot satte det op efter standarden blev tilgængelige på Google, så alle og enhver kunne styre deres cam. -Også meget underholdende (men det blev hurtigt kedeligt at kigge på parkeringspladser i England).
Umiddelbart er min opfattelse den, at sikkerheden på de danske banker er helt okay og selvom der muligvis er huller, så er der lang vej til at kunne overføre penge via et hack.
Mikkel deMib Svendsen skriver
> Der er absolut intet ulovligt i det, der er skrevet i det her indlæg
Nej, det mener jeg som sagt heller ikke. Jeg har, som det fremgår, gjort alt hvad jeg kunne for at undgå konkrete informationer der kan misbruges og stedet fokuseret på de generelle problemer som denne lille test påviser.
Jeg har iøvrigt intet imod at udlvere de små-scripts eg har afprøvet til de enkelte banker. De skal blot henvende sig på en måde, så jeg er sikker på det er dem – f.eks. med en email-adresse på deres domæne.
Mikkel deMib Svendsen skriver
> Men jeg er også enig i, at det er fænomenal “link bait”.
Neeehhj, det kunne aldrig falde mig ind 🙂
Kim Guldberg skriver
Nu hvor derer kommer hul på bylden, så prøv at ofre lidt tid på Jonny Long’s projekt GoogleDorks (http://johnny.ihackstuff.com/index.php?module=prodreviews) der giver masser af hård rejsende eksempler på søgninger der føre til både brugernavne og passwords og meget mere.
Jeg har selv skrevet en artikel om emnet der har været trykt i medlemsbladet for dansk IT sikkerhedsforum og som også kan læses på eksperten.dk for dem der kommer den slags steder
Stefan Juhl skriver
Jeg synes at lige for tiden er det nærmest ligegyldigt hvilket større dansk website jeg tjekker XSS på, så er der muligheder. Eksempelvis ved muligheden for at lave det du kalder “marketing hacks”, der falder ufatteligt mange i.
Mikkel deMib Svendsen skriver
Ja, jeg er helt enig. Hvis man leder længe nok kan de fleste større websites angribes med XSS hacks – i hvert fald af den “lettere” type. Og det er alle brancher – ikke bare banker. Store statslige institutioner (ja, de største!), shops og community sites (i særlig grad det sidste!)
Problemet er så hvad man skal gøre, men det vil jeg komme ind på snart i follow-up artikel til denne. Det er nemlig ikke så let som man skule tro …
Tommy Frøkjær skriver
Var det ikke muligt at bruge den slags evner til sjovere ting…? Så er bolden da givet op – helt urelateret, vil jeg da nævne, at jeg for nyligt var inde på http://www.nationalregisteret.dk
Mikkel deMib Svendsen skriver
Pointen med dette indlæg var ikke at inspirere til mere XSS-hacking – af den ene eller anden type, men tværtimod at få webmastere rundt omkring til at forstå vigtigheden af, at få gjort noget ved deres egen sikkerhed. Og ja, det burde Nationlregisteret nok også få kigget lidt nærmere på 🙂
Flagium dai skriver
En kommentar fra en webbank, blot for at perspektivere. Unikke server IP hits uden formål. 46700. Antal af indkommende script og li. 4085. Antal kunder som forsøger at snyde systemet. 100. Antal kunder som forsøger at hæve fra flere åbne sessioner. 2 Tilfældige tal fra en måned kort efter nogle tegninger blev bragt i en jysk avis. Ingen skade sket.
Mikkel deMib Svendsen skriver
Jeg forstår ikke helt pointen …?
For det første er det svært at tage tal der slynges ud af det blå, af en annonym bruger så seriøse. Men uanset det, hvad er det så du vil sige med det? Og hvordan er ovenstående tal nogen garanti for at I f.eks. ser sinmple HTML-injections? Hvis der ikke engang er beskyttet mod disse simple injections så nægter jeg at tro de monitoreres. Det ville svare til at monitorere daglige bankrøverier, uden at gribe ind. Det er helt ulogisk.
Problemet er mere, tror jeg, at mange sikkerhedsfolk ikke tager simple HTML og JavaScript injections seriøst nok – måske fordi de ikke ved hvilke alvorlige skader de kan pådrage en virksomhed. Måske ikke “fysiske” skader, men alvorlige marketing- og brand-skader.
Hankey skriver
“Andreas Johannsen Nov 26th, 2006 at 5:26 pm
OMFG. Jeg er spændt på, hvordan bankerne reagerer på dette (eller, det er jeg egentlig ikke, for jeg er 100% sikker på, at de aldrig vil indrømme problemer og svagheder af denne art).”
Det sjove er jo, at vi skriver nu 26.3.2008 og bankerne er ikke kommet et hak længere. Her er hvad blev muliggjort på finske Sampo banks hjemmeside efter overgangen til Danske Banks systemer:
[EDIT: Link dur ikke længere]
Hvis linket stadig virker vil der i Sampo netbanks brugerflade komme et billede med Sampos PR-Chefs udsag: Man kan ikke sige, at der skulle være tale om et hul (i sikkerheden) før vi har fundet et hul.
Sjovt at dette ikke er taget op i de danske medier?!?
Samposkoj skriver
Nu börjar säkerhetsproblemen även komma upp i massmedierna (finska Nelosen uutiset, eller Fyrans nyheter, berättar om “allvarliga säkerhetsbrister i Sampo Banks nya internetbank”):
http://www.youtube.com/watch?v=oPoE1omVkeI
Hela intervjun med Sampo Banks PR-chef (på finska):
http://www.youtube.com/watch?v=re804LViLqo
Kommentaren i slutet av intervjun, ungefär “ganska intressant påstående: trovärdighetsproblem, alltså verkligen”, har redan blivit nästan lika legendarisk som hans tidigare uttalande om hål i säkerheten:
http://sampopankki.ytmnd.com/
Övriga problem har redan diskuterats massvis, tyvärr mest på finska, men några plock ändå:
“One of the most serious mistakes was noticed on Monday, when an online customer got to see the information of the account of another customer.”
http://www.hs.fi/english/article/1135235064450 (på engelska)
Datasäkerhetsföretaget F-Secures forskningschef kritiserar Sampo Banks system:
http://www.hs.fi/talous/artikkeli/1135235093882 (på finska)
Sampos problem i YLEs (Finlands motsvarighet till DR) TV-nyheter:
http://arenan.yle.fi/toista?quality=hi&id=1163371 (på finska)
Samposkoj skriver
Ännu en uppdatering till de tidigare länkarna eftersom tidningen Helsingin Sanomat har lagt ut en artikel till på engelska:
Mikko Hyppönen, head of research at the online security company F-Secure, called the mistake “primitive”. “It is surprising that an error of this magnitude was found there so easily. When a website such as an online bank is set up, a very basic operation is to test it against attacks”, he said. He added that Sampo’s new online banking system still has a number of cross site scripting (XSS) vulnerabilities.
http://www.hs.fi/english/article/Sampo Bank online problems continue/1135235099406
På finska har diskussionen varit het i bl.a. IT-tidningen Tietokones blogg, där läsarna har upptäckt nya problem hela tiden:
http://blogit.tietokone.fi/tietojakoneesta/?p=345
(Undskyld för att jag skriver på svenska. 😉
Samposkoj skriver
Fungerande länk till artikeln på engelska: http://www.hs.fi/english/article/1135235099406
Samposkoj skriver
Senaste nytt:
“Sampo Bank CEO apologises for electronic glitches
Sampo has to contend with Danske Bank vulnerabilities
Ilkka Hallavo, CEO of Sampo Bank, issued an apology on Thursday evening to customers who had suffered from technical problems linked with the introduction of a new online banking system. The apology by the CEO showed a new approach by the bank on the matter. Previous comments were made by the head of communications, who offered no apologies.”
http://www.hs.fi/english/article/1135235130115
Fyrans nyheter raporterade i går hur säkerhetsproblemen fortsatt även om banken påstått att felen hade reparerats. I nyhetsinslaget visas hur det var möjligt att placera till exempel YouTube-videon med bankens egna PR-chef in på själva internetbanksidan. Även en bild av tidigare irakiske informationsministern användes, med det berömda “det är inte ett hål”-sitatet från Sampo Banks PR-chef. Säkerhetsexperten Mikko Hyppönen från F-Secure sade att så här allvarliga fel inte påträffats i kritiska tjänster som internetbanker i Finland tidigare. Sampo Banks PR-chef medgav att det handlade om ett fel, men sade att det nu skulle vara fixat:
http://www.youtube.com/watch?v=gUW5uVVBeNA
Enligt uppgifter i Tietokones blogg, verkar det som om Sampo Bank hade bara stoppat de exploiter som diskuterats på olika webbplatser, men att själva grundproblemen finns kvar.