Internet er grundlæggende usikkert!
Som du ved har jeg skrevet en masse om sikkerhed på Nettet, særligt med fokus på cross site scripting, og alle de kedelige ting det kan føre med sig. Desværre er der mange sites og virksomheder, som stadig ikke tager sikkerhed alvorligt, og af dem der gør er der stadig alt for mange, som ender med at efterlade huller alligevel. Jeg har selv set det. Og det er noget skidt.
Men simpel XSS er ikke engang det værste. Jeg er som sagt ikke den store hacker – faktisk slet ikke, så derfor har jeg mest beskæftiget mig med de ting som min lille hjerne kan forstå – herunder XSS/ Cross Site Scripting. Men der er mange andre muligheder, og grundlæggende huller i Nettets arkitektur. Problemet er, at Internet slet ikke var tænkt til at gøre de ting vi gør i dag. Og der var ikke mange der havde forestillet sig, at vi ville gøre SÅ mange følsomme informationer tilgængelige over Nettet.
Faktum er øjensynligt i dag, at man med forholdsvis simple metoder (simple hvis man kender dem), kan bruger de grundlæggende fejl i Nettets struktur til at hacke sig ind hos virksomheder gennem deres websites. Ikke bare selve websitet – men også alt det der ligger bagved. Dine interne netværk, VPNs og det hele. Firewalls nedbrydes som smør, hvis man kender de rigtige koder!
Bruger du Flash? Eller Java? Eller ActiveX? Eller XML webservices?
Hvis ja, så er sandsynligheden for at dette skaber en åben ladeport hele vejen ind i dine internet netværk skræmmende stor! Alle disse teknikker indeholder nemlig fejl, der gør at de kan misbruges til at skabe “hemmelige” tuneller ind i dine bagvedliggende systemer.
Jeg ved som sagt slet ikke nok om de dyberelæggende sikkerhedsproblemer med Nettets arktektur, men jeg prøver at følge lidt med, og forstå så meget jeg kan. En af de gode, og til tider meget underholdende, kilder til viden er de præsentationer man kan finde fra konferencer som DefCon – en hackerkonference der afholdes hvert år i august i Las Vegas.
En af de seneste pæsentationer jeg har set nærmere på, er Design Reviewing The Web af Dan Kaminsky fra IOActive, hvor han ser nærmere på nogle af de alvorlige konstruktions- og protokolfejl Nettet bygger på. Det er en virkelig god præsentation! Jeg vil ikke påstår jeg forstår det hele – og det vil du sikkert heller ikke, hvis du ser den, men se den alligevel! Jeg tror godt du kan forstå nok til at opfange de væsentligste pointer. Den vigtigste er: Nettet er ikke sikkert!
Og hvis du så oven på denne usikre grundstruktur bruger teknologier som Java eller Flash, så er du for alvor fucked. Big time! Nedenfor finder du et kort resume af det Dan Kaminsky siger om netop Flash og Java (ikke at forveksle med JavaScript, som er noget helt andet, med sit eget sæt af siokkerhedsproblemer!) i hans præsentation.
Sikkerhed med Java
Java rettede ganske vist nogle alvorlige sikkerhedsfejl for mange år siden. Det er godt. Men det gælder bare kun deres appletter. Der findes også en anden variant: LiveConnect, som tilsyneladende er meget udbredt. Og med Java underLiveConnect er hullet åbnet igen. Jeg vil ikke forsøge her at forklare hvad det mere teknisk går ud på, men grundlæggende set skulle du være sikker med Java appletter – og med LiveConnect er du ikke.
Sikkerhed med Flash
Jeg kan forstå at de gode folk hos Adobe faktisk har gjort rigtig meget for, at sikre Flash. Det er godt! Desværre bare ikke godt nok. Problemet er bl.a. at de ikke håndterer DNS rebinding særlig godt, og dermed undermineres alt den gode sikkerhed de ellers har bygget ind. Og som sagt er ingen kæde stærkere end det svageste led, hvilket også gælder for sikkerhedssystemer. Det hjælper ikke at låse alle døre, hvis vinduerne står åbne!
Dan Kaminsky stiller det glimrende spørgsmål i præsentationen:
“How many DNS requests does it take to get to the center of your corporate network?”
Svaret er, chokerende nok: Ikke ret mange! Og han demonstrerer det endda live på scnen. Igen vil jeg ikke påstå jeg fatter det hele, men i løbet af få sekunder var han inde! Oops!
Og hvad skal du så gøre ved det?
Desværre er der ikke andet at gøre end at vente på at Nettet får nogle mere sikre protokoller – mange af de fejl jeg har set kan du ikke gøre noget ved, hvis dem der udnytter dem er dygtige nok. Men du kan gøre hullerne større ved at anvende ting som Flash og ActiveX.
Så nu er det ikke bare for SEO og brugervenlighedens skyld at du skal lave tingene så teknisk simple som muligt – det er også for sikkerhedens skyld!
Jacob Andersen skriver
“kan bruger de grundlæggende fejl i Nettets struktur til at hacke sig ind hos virksomheder gennem deres websites”
Jeg så den lige igennem og det lyder da “yderst spændende”.
Din tekst kan godt komme til at lyde, som om at det er virksomhedens website man skal passe på der ikke bliver hacket. Fremfor brugerens browservindue som det gik ud over i hans eksempel.
Man skal selvfølgelig passe på begge dele.