Artikel top billede

(Foto: Computerworld)

Er Edge bedre end Internet Explorer?

Alt om DATA kigger på sikkerhedsfunktionerne i den nye Microsoft Edge Browser.

Af Tom Madsen, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

I de sidste mange år har Internet Explorer været det foretrukne mål for hackere, eftersom det er en af de mest udbredte browsere, qua at den kommer med alle versioner af Windows, og siden Windows er verdens mest udbredte styresystem. I de sidste år har det vist sig, at den gamle Internet Explorer har så mange funktioner, der ikke rigtigt bruges mere, at Microsoft har valgt at lave en helt ny browser fra bunden af.

Lad os tage et kig på de sikkerhedsfunktioner, som Microsoft har bygget ind i den nye browser. I deres blogs har Microsoft delt de nye funktioner ind i to dele. En del der handler om at beskytte brugerne imod diverse tricks, og en andel del der er rettet imod traditionel hacking.

Jeg vil her bruge den samme inddeling og starte med beskyttelsen imod ’tricks’. I Microsofts sprog betyder tricks, de metoder som bliver brugt til f.eks. at narre en bruger til at logge ind med deres brugernavn og password fra deres netbank. Altså traditionel phishing. Så lad os starte med den del.

Phishing og Smartscreen

Smartscreen har eksisteret siden Internet Explorer 8 og kommer integreret i Edge og i selve Windows 10 shell’en. Det Smartscreen gør, er at tildele et site en reputation score. Det er så den score, som et website har, der styrer, om du som bruger bliver advaret/forhindret i at navigere til sitet. Det er samme teknik, der bliver brugt til at forhindre dig i at downloade software, der f.eks. installerer spyware eller andre slags ubehageligheder. Den nye Edge browser er udviklet imod alle de nyeste web-standarder.

Det betyder, at Edge kommer med support for ’Content Security Policy’, der gør det nemmere for webudviklere at beskytte sig imod XSS (Cross Site Scripting). De fleste af os bruger nu netbank til de fleste af vores bankforretninger, og med Edge er der understøttelse for HTTP Strict Transport Security, der betyder, at du kan have tiltro til, at din forbindelse til netbanken rent faktisk er til netbanken og ikke en lyssky side.

Hacking

Nu skifter vi til beskyttelse imod den traditionelle hacking. Hacking her står for de angreb, der går efter selve browseren. Den i mine
øjne bedste ændring i Edge, er fjernelsen af ActiveX. ActiveX blev indført af Microsoft tilbage i 1996 som en metode for tredjeparts-udviklere til at tilføje nye funktioner til Internet Explorer. Problemet med ActiveX udvidelser er, at de kører i samme proces som selve browseren.

Det betyder, at hvis der er et problem med en ActiveX plugin, så vil dette problem nemt kunne korrumpere browseren og få den til at gå ned. Eller problemet vil kunne bruges af hackere til at skaffe sig adgang til selve computeren. Der vil stadigvæk være mulighed for udvidelser i Edge, men de skal udvikles i HTML5 og JavaScript, og de vil eksekvere uden for den proces, som Edge kører i.

Edge selv er udviklet som det, Microsoft kalder en Universal Windows app. Det vil sige, at browseren og de plugins, som er installeret, alle sammen kører i en proces for sig selv. Disse processer kører i en sandkasse, der skal sørge for, at evt. fejl og angreb ikke vil kunne bryde fri af sandkassen og ad den vej kompromittere hele computeren.

Selve sandkassekonceptet kom allerede med Internet Explorer 7 og Windows Vista. I Edge er det blevet udvidet til, at når Edge viser en webside, så bliver den webside renderet i sin egen sandkasse, eller App Container, som det hedder i Edge. Så har du Edge åben med adskillige web- sider i hver deres faneblad, så kører hvert faneblad i sin egen App Container.

ASLR

Windows 10 kommer i både 32- og 64-bit udgaver. I 64-bit udgaven af Windows 10 vil Edge køre som en 64-bit applikation. Med 64-bit kommer der en meget stærkere ASLR (Address Space Layout Randomization). ASLR gør det meget sværere for en angriber at bruge en fejl i koden til at springe til et andet sted i hukommelsen på computeren. ASLR er et meget teknisk emne, men grundlæggende betyder ASLR, at hver gang du bruger et program på en pc med ASLR-understøttelse, vil programmet lægge sig et nyt sted i hukommelsen.

Når en angriber ikke på forhånd kan vide, hvor et program lægger sig, bliver det betydeligt sværere at gætte, hvor angrebet skal springe til. ASLR er betydeligt bedre i 64-bit cpu’er, så har du valget, så er 64-bit Windows 10 det rigtige valg! Der er andre metoder, som bliver brugt sammen med ASLR, som f.eks. Data Execution Protection (DEP) og Structured Exception Handler Overwrite Protection (SEHOP).

Hukommelseskorruption

Det bringer os videre til hukommelseskorruption. Hukommelseskorruption er noget, der rammer alle programmer, specielt programmer udviklet i C/C++. I disse sprog er der ikke det, der bliver kaldt for type-sikkerhed, og disse sprog tjekker heller ikke for Buffer Overflows. Beskyttelse imod disse ligger helt og aldeles hos programmøren af applikationen. Desværre ser vi igen og igen, at sårbarheder som disse bliver brugt i angreb.

Det betyder ikke, at de programmører, der bruger disse sprog, er dårlige, men at disse fejl er meget subtile og kan snige sig ind i programmet uden at programmøren kan se det. I Edge, og Windows 10 i det hele taget, har Microsoft gjort sig umage med at implementere teknikker til at imødegå disse typer af fejl i koden. En af disse metoder er MemGC (Memory Garbage Collector). MemGC skal hjælpe Edge med at beskytte sig selv imod de angreb, der bruger Use After Free (UAF) metoder. I C/C++, og C# for den sags skyld, når du skaber et nyt objekt, så reserverer du et område af hukommelsen til dette objekt.

Når du er færdig med objektet, så skal den hukommelse, der blev brugt af objektet, frigives igen. Hvis man så prøver at bruge objektet igen, efter at det er blevet frigivet, så er det, at tingene går galt. I bedste fald går programmet ned, men det kan også betyde, at det pludseligt bliver muligt for en angriber at eksekvere kode, og det er skidt. MemGC tager ansvaret for at frigive hukommelse væk fra programmøren og automatiserer det fuldstændigt, som det sker på .NET-kode.

Det her var en hurtigt gennemgang af de sikkerhedstiltag, som Microsoft har tilføjet til den nye Edge browser i Windows 10. Internet Explorer har i de sidste mange år været i en konstant udvikling i og med, at når Microsoft frigav sikkerhedspatches den anden tirsdag i hver måned, så var Internet Explorer en del af de patches, der blev frigivet.

Om Edge bliver den samme gamle kending fremover, vil tiden vise, men Microsoft har gjort et stort stykke arbejde for at skabe en browser, der ikke bare overholder de forskellige internetstandarder, men også er en sikker browser.