Gå til innhold

Vista ikke sikreste Windows-versjon?


Anbefalte innlegg

Linux er uansett ikke sikkerere enn Windows på absolutt alle områder-enkelte exploits som er enklere å gjennomføre på et Linux system på enn på en Windows system. Feks buffer overflows o.l.

På hvilken måte er buffer overflow-angrep enklere å gjennomføre på Linux? Nå ble jeg nysgjerrig...

 

Jeg håper ikke du baserer deg på tvilsom statistikk som sammenlikner antall sikkerhetsfeil i Linux og Windows. Disse er ofte grovt urettferdige og sammenlikner et ribba OS (Windows) med GNU/Linux + haugevis med tredjepartsprogrammer (kontorpakker, webservere, databaseservere...)

Lenke til kommentar
Videoannonse
Annonse
Linux er uansett ikke sikkerere enn Windows på absolutt alle områder-enkelte exploits som er enklere å gjennomføre på et Linux system på enn på en Windows system. Feks buffer overflows o.l.
Noe imot å utdype dette? På hvilken måte mener du buffer overflows problemer er OS-relatert?

 

Forresten, hva mener du med o.l., er dette ren FUD, eller kan du være mer spesifikk på hva alle disse andre områdene er for noe?

Endret av Del
Lenke til kommentar
Linux er ikke perfekt. Hadde det vært det hadde jeg tatt det i bruk for lenge siden. Så la oss ikke gjøre dette til en tåpelig OS-debatt. Både Windows og Linux har sine fordeler og ulemper.
Vi snakker om sikkerheten i diverse windowsversjoner, sammenlignet med andre OS. Dette er on-topic, og interessant. Hva har du å bidra med i diskusjonen?
Lenke til kommentar

Det er enklere å skulle skrive programmer som utnytter buffer overflows pga at i Linux kan man bruke System-kall og dermed bare referere til funksjoner ved et nummer.

 

Mens i Windows blir funksjone eksporter via dll-filer som igjen betyr at man trenger de eksate addressene til hvor disse funksjonene lastes i minnet-når Vista også har et system som laster dll-filer på tilfeldige områder i minnet vil dette gjøre det hele mere komplisert.

Lenke til kommentar
Det er enklere å skulle skrive programmer som utnytter buffer overflows pga at i Linux kan man bruke System-kall og dermed bare referere til funksjoner ved et nummer.

 

Hva tror fenderebest Windows system call number:

 

http://www.metasploit.com/users/opcode/syscalls.html

 

er for noe, og brukes til?

 

Konsekvensen av buffer-overflow har vært og er høyere på Windows, fordi så mange programmer kjører med Admin rettigheter der. Vista har dessuten en vanvittig bloat og en nyere kodebase enn Linux. Da skjønner vel alle at sjanse for kernel bugs også er mye høyere på Vista, eller?

 

Når det gjelder sikkerhet, så fortsetter Microsoft "å pisse i buksa for å holde varmen". Vista endrer ikke på dette, og det er tragisk å se hvordan sikkerhetshull fortsatt "tettes" uten å løse det underliggende problemet:

 

http://www.eweek.com/c/a/Security/Microsof...ootkit-Exploit/

 

Linus ville aldri godkjent en slik fix.

 

Mens i Windows blir funksjone eksporter via dll-filer som igjen betyr at man trenger de eksate addressene til hvor disse funksjonene lastes i minnet-når Vista også har et system som laster dll-filer på tilfeldige områder i minnet vil dette gjøre det hele mere komplisert.

 

:no:

 

Det er faktsk mulig å få til dette under Vista, men av andre grunner enn du tror. :)

 

For at random addresser på funksjoner skal benyttes, så må alle DLL moduler kompileres på en spesiell måte, det holder at en modul ikke er kompilert på denne måten, så er det ikke slik.

 

Men dette er nok et eksempel på Microsoft liksom sikkerhet. Det bør være innlysende at det finnes en metode for å finne funksjons addresser run-time, ellers ville det ikke vært mulig å flytte DLL'er mellom Vista maskiner uten en rekompilering.

 

Buffer-overflow er en klasse bugs, som vil komprimittere både et Linux og Windows system totalt, når man kjører programmet med root/Admin. Sannsynligheten for denne bug'en er dog langt høyere på Windows, siden det er mer kompleks kode der, mye mer kode og lavere kvalitet på koden.

 

Det er tull å påstå at Windows er sikrere. Hardening av OS, kan gjøres begge steder, både IBM og HP har sertifiserte Linux systemer til EAL 4+, mens Vista and Windows Server 2008 er til sertifisering på samme nivå:

 

http://www.niap-ccevs.org/cc-scheme/in_evaluation/

 

men dette bør være lite intressant for en vanlig bruker som fenderebest. Det som betyr noe, er hvordan "default" oppsett av systemet er, fordi du ikke har kompetanse til å gjøre en slik "OS hardening" selv. Default oppsett på Kubuntu er overraskende bra sikkerhetsmessig, og er på ingen måte bak Windows slik jeg ser det.

 

Må si jeg reagerer kraftig på at vanlige brukere skrur av beskyttelse på Windows, og tror dere kan beskytte seg mot rootkit og den slags. Hvis dere bruker nettbank og blir svindlet, så risikerer dere å måtte dekke tapet selv.

 

Det er ikke uten grunn at visse banker krever ekstra sikkerhets SW på Windows. Ved svindel og rettsak, så har bankene sikkerhetseksperter som vil påpeke uansvarlig bruker oppførsel. Det samme vil uavhengige ekspertvitner gjøre.

Endret av kernel
Lenke til kommentar

Det ante meg at sikkerhets-angrepet på Linux ville bli grundig demontert. Det luktet ugler i mosen av Fenderebests påstander uten at jeg hadde nok peiling til å kunne avsløre de. Det skremmende er at det var såpass teknisk og selvsikkert formulert at mange forummedlemmer ikke luktet ugler i mosen en gang.

 

Nå venter jeg på utdypingen av o.l.

 

 

kernel: Hvordan virker NX-bit på buffer overflow-problemet?

Det virker vel likt på alle OS så vidt jeg har skjønt, men er det et stort skritt i riktig retning eller et lite?

Lenke til kommentar

Det er vel ganske opplagt at Windows ikke har vært i forkant av utviklingen når det gjelder sikkerhet, og det tror jeg fenderebest også vet ganske godt ;)

 

Grovt sett har man fokusert mye mer på proaktiv sikkerhet og "secure by default" i *NIX verden enn i Windows. For i Windows har man gjerne heller "beskyttet" seg ved hjelp av reformatering og antivirus (som alltid vil leke katt og mus med malware-utviklere).

 

Og selv om Windows NT innebar klar bedring av sikkerheten i forhold til eldre Microsoft-OS, så sliter de fortsatt i dag med arven etter MS-DOS. Da tenker jeg ikke på kildekode i nyere Windows-utgaver, for det er neppe mye igjen av MS-DOS i Vista, men jeg tenker på dårlige uvaner både hos MS og tredjepartsutviklere, som er et resultat av at Microsoft's tidligere OS kun var enbrukersystemer ikke beregnet på nettverk - og totalt ribbet for sikkerhetsmekanismer.

 

Nå har jo andre kommet meg i forkjøpet, men hvis fenderebest ønsker å lese mer om sikkerhet i Linux kan man f.eks. titte litt på noen av teknikkene Fedora benytter for å motstå bufferoverflow o.l.: http://fedoraproject.org/wiki/Security/Features

 

Andre distroer kan bruke litt forskjellige løsninger såklart. Det fins flere konkurrerende teknologier ute og går, slik som SELinux vs. AppArmor.

 

 

Et annet OS som har lang tradisjon med slikt er OpenBSD, som også bruker en rekke mekanismer (inkludert randomisering av adresser) for å vanskeliggjøre bufferoverflow angrep. Dette har de holdt på med i en årrekke.

 

Da spør jeg igjen, på hvilken måte er Windows bedre? :p

Lenke til kommentar
kernel: Hvordan virker NX-bit på buffer overflow-problemet?

Det virker vel likt på alle OS så vidt jeg har skjønt, men er det et stort skritt i riktig retning eller et lite?

 

AMD's NX-bit eller Intel's XD bit, er en HW mekanisme som hindrer at data segment, kan eksekvere kode (pay-load). Dette er en bra ting og bør benyttes hvor mulig, men det er kun 64-bit CPU'er som har dette bit'et AFAIK, og det løser heller ikke alle problemer med BO (NX/XD tar "stack smashing").

 

Angående "stort skritt"...

 

etter min mening, så lenge en sikkerhetsmekanisme ikke er slått på default, eller brukere slår den av manuelt, så er det ikke et stort skritt. :) NX/XD hjelper eksperter til å sette opp mer robuste servere, ikke den vanlige bruker.

 

En må dessuten huske at BO er bare en klasse bugs... av mange. Et stort skritt, for både Windows og Linux, ville være om man plasserte drivere i egen "CPU ring". I dag kjører drivere i samme ring 0 som kernel gjør, og hvis vi ser på estimat på bug (se "Driver Source Code"):

 

http://widefox.pbwiki.com/Source

 

så har ca. 50% av koden, hele ca. 85% av bugs. Etter min mening er det uheldig at drivere kjører i samme ring som kernel, hvis drivere kjørte i ring 1 så kunne ikke en buggy driver ta ned hele systemet, kernel var beskyttet via HW mekanisme og kunne stoppe "buggy" driver og kjøre ufortrødent videre.

 

Applikasjoner kjører i dag i CPU ring 2, og kan ikke direkte påvirke kernel, slik var det ikke under DOS, og noen husker vel hvordan det var når en applikasjon kunne krasje hele systemet? :)

Lenke til kommentar
  • 9 måneder senere...
Mens i Windows blir funksjone eksporter via dll-filer som igjen betyr at man trenger de eksate addressene til hvor disse funksjonene lastes i minnet-når Vista også har et system som laster dll-filer på tilfeldige områder i minnet vil dette gjøre det hele mere komplisert.

 

Kan du utdype dette? Hvis jeg har forstått deg rett, så tenker du her på et return-to-libc-angrep, og dette er jo i såfall bare en av flere måter å utnytte en buffer-overflow på. Hvis du kjører en vanlig buffer-overflow exploit som overflower retur-pekeren trenger du da ikke nødvendigvis å returnere til en funksjon. Hvis du overskriver returpekeren og legger ved en NOP-slede samt litt shellcode vil man jo kunne oppnå det samme.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...