Ny metode skal gøre traditionel antivirus overflødig

I stedet for at overvåge hver eneste fil på harddisken, skal virusbeskyttelse ske ved at stoppe mistænkelig adfærd. Det er ideen bag et israelsk projekt, der skal sende den klassiske antivirussoftware i graven.

Når antivirussoftwaren løbende skal scanne hele computeren og holde styr på alle indkomne e-mails og al webtrafik, trækker det tænder ud på selv en hurtig maskine. Brugeren må slås med langsom opstart og sløve applikationer.

Den tilgang til virusbekæmpelse vil et israelsk forskningsprojekt derfor gøre op med. I stedet for at sammenligne computerens indhold med lister over kendte vira, der altid vil være et skridt bagefter, skal kampen mod antivirus vindes ved at overvåge processerne på maskinen. Det skriver TGdaily.com.

Forskerne fra Tel Aviv University, der står bag projektet Korset, er nået frem til en løsning, hvor systemets kerne skal rekompileres og nogle overvågningsmekanismer tilføjes. Så snart en proces opfører sig på en måde, der ikke er normal, kan den blive lukket inde og stoppet, før der sker nogen skade.

En open source-version af projektet er blevet frigivet til Linux ? find linket herunder.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (7)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#1 Peter Makholm Blogger

Følgende triggede min nysgerighed:

Så snart en proces opfører sig på en måde, der ikke er normal, kan den blive lukket inde og stoppet, før der sker nogen skade.

At lukke en process der opfører sig unormalt er let nok. At definere hvad der er normalt og hvad der er unormalt er strak meget sværre. Så hvad er det Korset gør som ikke er blevet gjort før?

Hovedelementet af korset er efter min mening ikke at kernen skal genoversættes med nogle overvågningsmekanismer tilføjet. Det vigtige er hvad der skal overvåges.

Det korset tilsyneladende foretager deres overvågning ud fra er en statisk analyse af programmet der skal køres. Herved opbygger Korset en graf af lovlige rækkefølger af systemkald. Hvis denne graf viser at programemt aldrig vil kalde systemkaldet exec(3) mellem et kald til accept(2) og close(2), så ved Korset at et program der pludselig laver et exec-kald mens den læser fra en socket at der er noget galt.

Jeg tror på baggrund af dette at korset vil have nogle problemer med ting skrevet i scriptingsprog (generelt problem) og brugerinstallerede programmer (i hvert fald i proof of concept-implementationen hvor den statiske analyse sker på link-tidspunktet).

Folkene bage Korset skriver dog også på korset.org:

This has little to do with classic computer viruses, which are traditionally being executed by the user himself and, from the OS perspective, are as legitimate as any other piece of software. You need anti-virus software to find them. Korset will never do that. It has completely different goals.

  • 0
  • 0
#2 Lars Sommer

Er det fornuftigt at starte udviklingen rettet mod et system som Linux, hvis man ser statistisk på hvor stor en del Malware der rammer Linux, i forhold til Windows? Og en fremgangsmåde der (neutralt beskrevet) kræver rekompilering af operativsystemkernen, er måske ikke så nem at portere til Windows...?

Hvis vi antager det senere kan fungere fint på Windows også, er der også et helt andet problem at diskutere: Hvem bestemmer hvad der er en normal måde at opføre sig på?

  • 0
  • 0
#3 Peter Makholm Blogger

Er det fornuftigt at starte udviklingen rettet mod et system som Linux,

Ja, det er absolut fornuftigt fordi der, som du selv nævner, kan være visse problemer med at udvikle en tilsvarende funktionalitet under windows uden adgang til kildeteksten. Hvis man ønsker at angribe malware-problematikken er dette også et godt nok udgangspunkt for en proof-of-concept implementation, men selvfølgelig kræver det en windowsimplementation for at virkelig batte noget imod malware.

Umidelbart tror jeg heller ikke at det kræver en omkompilering af hele kernen. Det ser ud til at Korset piller lidt her og der, men i teorien burde de kunne komme langt med LSM, der er et generelt framework til denne slags moduler. Microsoft burde kunne udvikle et tilsvarende framework som andre kunne implementere politik-moduler til.

Hvem bestemmer hvad der er en normal måde at opføre sig på?

Som jeg allerede har beskrevet, så bestemmes normal opførelse ud fra en statisk analyse af programmet der skal udføres. Som Korset ser ud nu, så bliver denne analyse foretaget på oversættelsestidspunktet og gemmes i en fil ved siden af programmet. Det betyder at hvis man kan installere programmer, så kan man samtidigt definere 'normal opførelse'.

Det korset sikrer imod er hvis en angriber ændre på programmets opførelse mens det kører. For eksempel ved at overskrive return-pointeren i en stackframe.

  • 0
  • 0
#4 Deleted User

På hvilken måde adskiller deres metode sig fra fx. SELinux. Så vidt jeg ved (er ikke super godt inde i det) er det samme princip. At definere nogle profiler/skemaer for hvordan en app må opføre sig, og reagere derefter. Det svære er netop at lave nogle skemaer hvor man i det hele taget kan bruge sin maskine.

  • 0
  • 0
#5 Peter Makholm Blogger

Som jeg opfatter det er der to væsentlige forskelle:

  • SELinux baserer sig på håndvedligeholdte politikker, mens Korset baserer sig på en statisk analyse af programmet der udføres.

  • SELinux fokuserer på hvilke resurser programmet tilgår, mens Korset fokuserer på rækkefølgen.

For eksempel vil du med SELinux hindre at programmer åbner filer i /etc uden skelen til hvad programmet ellers laver, mens Korset forhindrer programmet i at åbne filer mens den er ved at læse fra en socket, uden skelen til hvilke filer der forsøges åbnet.

  • 0
  • 0
#6 Deleted User

Korset er tilsyneladende ikke til at fange vira med, men artiklen her på v2 hedder : "Ny metode skal gøre traditionel antivirus overflødig" ?

Udfra hvad jeg har kunnet læse mig frem til vil det primært være code injections og altså i praksis også buffer overflow scenarier som Korset vil håndtere, men det vil vel også begrænse udbredelsen af malware, da det jo er en af de primære vektorer brugt til malware distribution. I windows vil det ikke kræve rekompilering af kernen, da man kan fange det man skal via system call tabellerne, ligesom en del sikkerhedsprodukter til windows gør allerede idag.

  • 0
  • 0
#7 Jacob Christian Munch-Andersen

Det lyder som om Korset vil have en stærkt begrænset levetid. Overflow angreb er på retur, med sprog der deterministisk beskytter mod den slags og NX bit instruktionssættet som har været standard i alle nye x86 CPUer de seneste år er owerflow slet ikke en trussel i den kategori som det var for bare 5 år siden. Hvis der ikke er andet at byde på så er det praktisk talt for sent for Korset at vinde udbredelse.

  • 0
  • 0
Log ind eller Opret konto for at kommentere