image

"Waarom Linux veiliger is dan Windows"

dinsdag 18 april 2006, 11:16 door Redactie, 26 reacties

Er is al zoveel gediscussieerd over de veiligheid van Windows en Linux. Toch kon security expert Richard Stiennon het niet laten om de discussie weer eens op te wakkeren. Volgens de vice president van Webroot is Windows veel moeilijker te beveiligen dan Linux.

In plaats van een lang en droog betoog maakt Stiennon zijn punt duidelijk via de onderstaande afbeeldingen. De evolutie van Windows heeft voor een zeer complex en lastig te beveiligen besturingssysteem gezorgd. De afbeeldingen geven een volledige map van de system calls weer die zich voordoen als een webserver een HTML pagina met een afbeelding laat zien.

Een system call is een mogelijkheid om geheugen te adresseren. Een aanvaller onderzoekt elke geheugentoegang om te zien of die kwetsbaar is voor een buffer overflow aanval. De ontwikkelaar moet een QA doen voor elk van deze entry points. Hoe meer system calls, hoe meer kans voor een kwetsbaarheid, en hoe meer moeite er gedaan moet worden om een veiligere applicatie af te leveren.

De eerste afbeelding toont de system calls op een Linux server met Apache.


De tweede afbeelding is een Windows Server die IIS draait.

Reacties (26)
18-04-2006, 11:47 door Section
Het vergelijken van Linux en Microsoft Windows is nutteloos naar mij
mening. Je gaat toch ook niet een auto (Windows) vergelijken met een
trein (linux). Het zijn totaal verschillende pakketen die anders zijn
geëvolueerd. Na verhouding zal Microsoft de komende jaren altijd vele
maler breder en georiënteerde bezig zijn. Linux / Unix heeft een aantal
sterke onderdelen, maar dat weegt nooit op tegen het grote Microsoft
pakket met gebruikersvriendelijkheid, mogelijkheden en flexibiliteit. Als
Linux de functionaliteiten heeft als Microsoft dan zal een vergelijking terecht
zijn betreft de security issues. Ook zijn Microsoft software pakketen eerder
doelwit dan andere pakketen, omdat het bijna door iedereen wordt
gebruikt. Daarbij zal de titel niet Linux vs Microsoft moeten zijn, maar
Apache vs IIS. En zal ook rekening gehouden moeten worden naar de
functionaleiten en ondersteuning, dan alleen beveiliging. Ook zal
beveiliging ten aller tijde een hot issue blijven.

Moe van discussies ‘Linux vs Microsoft’.
18-04-2006, 11:59 door [Account Verwijderd]
[Verwijderd]
18-04-2006, 12:03 door Anoniem
Ondanks al die system calls, hoeveel security fixes zijn er voor iis
uitgekomen? Precies 0.
18-04-2006, 12:08 door Anoniem
Door Section
Na verhouding zal Microsoft de komende jaren altijd vele
maler breder en georiënteerde bezig zijn. Linux / Unix heeft
een aantal sterke onderdelen, maar dat weegt nooit op tegen
het grote Microsoft pakket met gebruikersvriendelijkheid,
mogelijkheden en flexibiliteit. Als
Linux de functionaliteiten heeft als Microsoft dan zal een
vergelijking terecht zijn betreft de security issues.

1 gokje: Je hebt nog nooit een GNU/linux systeem voor meer
dan 5 minuten gebruikt ? Een doorgewinterde Linuxxer zal
eerder functionaliteiten missen op een M$ systeem, neem
alleen al de commandline die op M$ systemen zwaar belabberd is.

En gebruiksvriendelijkheid ... tja ... voor desktop systemen
is het dik in orde. Een echte server laat je echter geen
grafische desktop draaien, en ga je er vanuit dat je te
maken hebt met een beheerder die weet wat ie doet. Voor een
server is gebruiksvriendelijkheid naar mijn mening geen issue.

Ook moe van de discussie :-)
18-04-2006, 12:17 door Anoniem
On topic:
"omdat het bijna door iedereen wordt gebruikt." - volgens mij heeft apache een veel groter marktaandeel dan IIS...

Het gaat om een vergelijking tussen een MS webserver en een
open source webserver, waar in dit geval gekozen is voor
Linux met Apache (meest gebruikte combinatie). Dus een zeer
relevant onderzoek. De titel zou dan ook "Open source versus windows+iis" moeten zijn.

Off topic:
"het grote Microsoft pakket met gebruikersvriendelijkheid,
mogelijkheden en flexibiliteit"

Volgens mij is het MS pakket helemaal niet zo felxibel...
Probeer bijvoorbeeld explorer (file manager) eens te
vervangen? En laat die vervanger met de Windows-E
toetsencombinatie starten. Verwijder vervolgens explorer
omdat je die toch niet meer gebruikt.

Herhaal dit truukje ook eens met Internet Explorer, Task
Manager, Movie Maker, etc... Flexibel hoor!
18-04-2006, 12:59 door Anoniem
Door Anoniem
Ondanks al die system calls, hoeveel security fixes zijn er
voor iis
uitgekomen? Precies 0.
Pardon, 0?

http://search.microsoft.com/results.aspx?q=security+fix+iis&l=1&mkt=en-US&FORM=QBME1
18-04-2006, 13:06 door Anoniem
Waarom niet Linux+Apache en Windows+apache ?

Waarom is IIS6 zoveel moeilijker te beveiligen als er (in de laatste 3 jaar) 2
advisories voor bestaan en 30 voor apache2?
18-04-2006, 13:06 door Anoniem
Door Anoniem
Ondanks al die system calls, hoeveel security fixes zijn er
voor iis
uitgekomen? Precies 0.
Afgezien van het feit dat dat niet waar is, is het toch wel
redelijk duidelijk dat de complexiteit van het Windows+IIS
systeem veel groter is dan het Linux+Apache systeem.

Hoewel dat op zichzelf niet hoeft te betekenen dat er
dus meer lekken zitten in Windows+IIS betekent het
wel dat een complexere omgeving lastiger te begrijpen en dus
lastiger te securen is.

Het gaat allemaal om risico-analyse. Alles wat we in
security-land doen wordt gedreven door risico's en
dreigingen. En het risico dat er in een complexe omgeving
iets mis gaat is nou eenmaal groter dan het risico dat er
iets mis gaat in een minder complexe omgeving.

Om nou op basis hiervan te roepen dat OS1 meer secure is dan
OS2, dat zou ik persoonlijk niet durven.
18-04-2006, 13:23 door Anoniem
Offtopic:
"het grote Microsoft pakket met
gebruikersvriendelijkheid,
mogelijkheden en flexibiliteit"
:) Mijn ervaring met Microsoft (server) pakketten is dat
dezen over het algemeen enorme beperkingen opleveren ten
opzichte van andere besturingssystemen zoals Linux en open
source producten zoals Apache op het gebied van
mogelijkheden/flexibiliteit, interoperabiliteit,
continuiteit/workload, kosten en manageability.
Wel ben ik met je eens dat veel Windows beheerders, waar je
in de 'markt' mee dood wordt gegooid, teveel geneigd zijn
servers als werkstation te benaderen en dienovereenkomstig
redeneren.
18-04-2006, 16:13 door Anoniem
Door Anoniem
Door Anoniem
Ondanks al die system calls, hoeveel security fixes zijn er
voor iis
uitgekomen? Precies 0.
Pardon, 0?

http://search.microsoft.com/results.aspx?q=security+fix+iis&l=1&mkt=en-US&FORM=QBME1


En nu voor IIS 6.

0, ja :)
18-04-2006, 18:07 door Anoniem
Door Anoniem
Door Anoniem
Door Anoniem
Ondanks al die system calls, hoeveel security fixes zijn er
voor iis
uitgekomen? Precies 0.
Pardon, 0?

http://search.microsoft.com/results.aspx?q=security+fix+iis&l=1&mkt=en-US&FORM=QBME1


En nu voor IIS 6.

0, ja :)

Voor IIS 6 heb je onder andere "Microsoft Windows WebDAV XML
Message Handler Denial of Service" en "Microsoft IIS
Inappropriate Cookie Handling Error".

Ook wil het niet bestaan van fixes niet zeggen dat er geen
(veiligheids) fouten bestaan of bekend zijn voor een bepaald
produkt, noch dat een ander op het systeem residerend
produkt er geen invloed op kan uitoeffenen.

Je valt dus altijd terug op de systeemarchitectuur, die
liever geen gelijkenissen met chaos vertoont.
18-04-2006, 19:18 door Anoniem
Door Anoniem
Door Anoniem
Door Anoniem
Ondanks al die system calls, hoeveel security fixes zijn er
voor iis
uitgekomen? Precies 0.
Pardon, 0?

http://search.microsoft.com/results.aspx?q=security+fix+iis&l=1&mkt=en-US&FORM=QBME1


En nu voor IIS 6.

0, ja :)


En nog steeds gaat er geen lampje branden.
18-04-2006, 20:01 door Anoniem
Door Section
Het vergelijken van Linux en Microsoft Windows is nutteloos
naar mij
mening. Je gaat toch ook niet een auto (Windows) vergelijken
met een
trein (linux). Het zijn totaal verschillende pakketen die
anders zijn
geëvolueerd.
Dus Novell's linux-desktop kan niet vergeleken worden met
Windows desktop-systemen zoals XP? Organisaties die voor de
linux-desktop kiezen, willen wel degelijk een onderbouwing
van hun keuze en zullen dus moeten vergelijken. De
vergelijking zal waarschijnlijk niet voor iedereen hetzelfde
zijn en dezelfde uitkomst hebben. Dus in de zin van een
algemene vergelijking, vind ik dat je wel gelijk hebt.
Overigens zou ik zelf Windows liever vergelijken met de
groene serie van Bosch en linux met de blauwe serie.


Na verhouding zal Microsoft de komende jaren altijd vele
maler breder en georiënteerde bezig zijn. Linux / Unix heeft
een aantal
sterke onderdelen, maar dat weegt nooit op tegen het grote
Microsoft
pakket met gebruikersvriendelijkheid, mogelijkheden en
flexibiliteit.
Is 'de' linux-desktop niet gebruiksvriendelijk en niet
flexibel? Hebben alle gebruikers behoefte aan alle extra's
die Windows biedt!?
Het draaiend houden van Windozen vergt naar mijn ervaring
veel meer tijd dan linux-bakkies. Alleen al het testwerk dat
je in feite zelf nog moet doen voor je je Windows-updates
kan doorvoeren. Virus-scanners, malware, registry en
DLL-ellende. Hoevaak installeert de (gemiddelde)
Windows-gebruiker zijn pc opnieuw?
Hoeveel tijd gaat verloren met defragmenteren, dat, net als
virus-scanners enz., de symptomen bestrijdt van een
gebrekkig OS?
Je kan toch niet serieus menen dat je NTFS, vergeleken met
b.v. Ext3fs, een bestandssysteem vindt dat gemaakt is voor
serieus werk?


Als Linux de functionaliteiten heeft als Microsoft
(off topic) Een product heeft niet meer functionaliteiten.
De functionaliteit van een product omvat alle functies.
Kijk anders eens op
http://www.vandale.nl/opzoeken/woordenboek/.


dan zal een vergelijking terecht
zijn betreft de security issues.
Als je http://secunia.com/ volgt, zal je zien dat er in
linux ook nogal van veiligheidsproblemen ontdekt worden.
Waar het om gaat is de mate waarin het systeem fouten kan
opvangen, bijvoorbeeld door secure (kernel) levels,
chrooting
enz.


Ook zijn Microsoft software pakketen eerder
doelwit dan andere pakketen, omdat het bijna door iedereen
wordt
gebruikt.
Het 'populairste' product is voor kwaadwillenden natuurlijk
het aantrekkelijkst. Maar dat zegt op zich niets over de
mate van kwetsbaar heid van dat product.


Daarbij zal de titel niet Linux vs Microsoft moeten zijn, maar
Apache vs IIS.
Dat lijkt me een wel erg eenvoudige voorstelling van zaken.


Moe van discussies ‘Linux vs Microsoft’.
Ik denk dat ze voorlopig de wereld nog niet uit zijn. Maar
je bent niet verplicht eraan mee te doen, toch? :)
19-04-2006, 09:51 door beamer
Ok, Ik kan het toch niet laten wat toe te voegen ;)

Het feit dat er meer (security) bugs zijn gevonden in Apache
betekend niet dat het onveiliger is, maar dat het juist
veiliger is! Dank zijn Open Source kan iedereen in de code
kijken en aangeven waar het mis gaat. De bugs die zijn
gevonden zijn opgelost!
In IIS zitten zeker net zoveel bugs en (te zien aan het
plaatje en concluderend dat het complexer in elkaar zit)
hoogst waarschijnlijk meer security bugs. Alleen ze zijn
niet publiekelijk bekend. Wie herinnert zich "Code Red" niet
en de impact die dat wereldwijd gaf? Zo'n major worm is er
nog nooit voor apache geweest.

Verder moet je voor de veiligheid van een product kijken
naar de patchsnelheid. Stel je voor dat er een bug voor IIS
publiekelijk bekend wordt en dat je moet wachten tot patch
thuesday, zeg maar dag tegen je business. De grote Open
Source producten staan bekend om hun snelheid van patchen en
hun support vanuit de user community.

Bovendien moet security "stapelbaar" zijn, door meerdere
security maatregelen te gebruiken krijg je pas echt een
veilig systeem. Dus binnen apache gebruik je mod_security om
op HTTP niveau al bepaalde toegang te blokkeren. Je kan
SELinux gebruiken om het systeem helemaal dicht te timmeren,
maar wat eenvoudiger is is om de apache user geen rechten te
geven tot dingen als wget, curl, echo

Apache heeft ok het voordeel dat het kan draaien op een
minimaal (linux) systeem (zonder window manager, zonder
X11). Minder is Meer in security land. Minder software
geinstalleerd betekend minder patches, minder complexiteit
en een sneller en overzichtelijker systeem.

just my 2 ct's ;)
http://www.oiepoie.nl/2005/11/09/linux-worm-on-the-loose/
19-04-2006, 11:45 door pipo
Door beamer

Bovendien moet security "stapelbaar" zijn, door meerdere
security maatregelen te gebruiken krijg je pas echt een
veilig systeem. Dus binnen apache gebruik je mod_security om
op HTTP niveau al bepaalde toegang te blokkeren. Je kan
SELinux gebruiken om het systeem helemaal dicht te timmeren,
maar wat eenvoudiger is is om de apache user geen rechten te
geven tot dingen als wget, curl, echo


Mis ik hier nu een alinea of vond je het niet interessant om
de vergelijkbare
features van IIS te vermelden ? Nogal eenzijdig commentaar
mijn inziens.
19-04-2006, 13:30 door Virtal
Hint: het saillante, waar het uiteindelijk om gaat, volgt in
de opvolgende alinea:
Minder is Meer in security land. Minder software
geinstalleerd betekend minder patches, minder complexiteit
en een sneller en overzichtelijker systeem, doelend op een
minimale Linux, BSD of Unix-type installatie met alleen de
werkelijk gebruikte processen (modules) aanwezig.
19-04-2006, 13:35 door SirDice
Door Virtal
Hint: het saillante, waar het uiteindelijk om gaat, volgt in de opvolgende alinea:
Minder is Meer in security land. Minder software geinstalleerd betekend minder patches, minder complexiteit en een sneller en overzichtelijker systeem, doelend op een minimale Linux, BSD of Unix-type installatie met alleen de werkelijk gebruikte processen (modules) aanwezig.
Dat geldt dus net zo goed voor Windows.. Als je een bepaalde service niet gebruikt.. UIT zetten.. Wat niet aanstaat kan nooit misbruikt worden..
19-04-2006, 14:24 door Virtal
Door SirDice
Door Virtal
Hint: het saillante, waar het uiteindelijk om gaat, volgt in
de opvolgende alinea:
Minder is Meer in security land. Minder software
geinstalleerd betekend minder patches, minder complexiteit
en een sneller en overzichtelijker systeem, doelend op een
minimale Linux, BSD of Unix-type installatie met alleen de
werkelijk gebruikte processen (modules) aanwezig.
Dat geldt dus net zo goed voor Windows.. Als je een bepaalde
service niet gebruikt.. UIT zetten.. Wat niet aanstaat kan
nooit misbruikt worden..
Nee, dat is mijns inziens onjuist. Met die reden duidde ik
specifiek op de aanwezigheid van zaken. Wat in deze
voor Linux, BSD en Unix-type systemen geldt, geldt dit niet
voor Windows waar alles op het systeem blijft resideren
ongeacht wel of niet de bedoeling is dat er gebruik van
wordt gemaakt.
In die zin is Windows bij wijze van spreken een privéterrein
waar een ladder en gereedschap op rondslingert, waar je bij
fysieke beveiliging op let.
19-04-2006, 15:27 door SirDice
Ik doelde meer op remote benaderbare zaken... Services dus..
Iets wat uit staat is niet te benaderen.. Iets wat niet te
benaderen is is niet te misbruiken..

En op Linux/BSD/Unici slingeren ook veel zaken die niet
gebruikt worden.. Daar moet je ook moeite voor doen om ze te
verwijderen.. Waarom zou je op een productie machine GCC
hebben staan bijvoorbeeld..

Als iemand fysieke toegang heeft tot een machine ben je
zowieso het haasje.. Welk OS je dan ook draait..
19-04-2006, 16:39 door Virtal
Door SirDice
Ik doelde meer op remote benaderbare zaken... Services dus..
Iets wat uit staat is niet te benaderen.. Iets wat niet te
benaderen is is niet te misbruiken..
Iets wat niet direct remote te benaderen is zou indirect te
benaderen kunnen zijn via een proces of toepassing dat wel
direct te benaderen is. Of dit het gevolg is van een bug,
implementatie, configuratie of gebruiksfout is minder
relevant. Het blijft een wezenlijk risico.
En op Linux/BSD/Unici slingeren ook veel zaken die niet
gebruikt worden.. Daar moet je ook moeite voor doen om ze te
verwijderen.. Waarom zou je op een productie machine GCC
hebben staan bijvoorbeeld..
GCC zit bij mijn weten
niet bij de 'base', dit zou per distributie kunnen verschillen.
Mochten er na een minimale installatie toch zaken op
staan die je niet wenst, dan is dat gemakkelijk te managen.

In Windows stuit je op chaos dat niet te managen is, wat bij
een installatie aan het systeem wordt opgedrongen. Want
harddisks hebben tegenwoordig toch een grote capaciteit. Dat
is wel zo, maar is dit geen handig uitgangspunt.
En mocht je het er toch op wagen er veel tijd, bloed, zweet
en tranen aan te willen spenderen uit te zoeken wat weg kan,
dan wordt deze noeste arbeid bij de eerst volgende
updateronde rap teniet gedaan. Want die gaan er vanuit dat
Windows unmanaged is met alle zaken aanwezig. Dan kun je
opnieuw beginnen met uit te zoeken wat weg kan.

Als iemand fysieke toegang heeft tot een machine ben je
zowieso het haasje.. Welk OS je dan ook draait..
Dat is waar, maar is dit in deze niet het punt dat werd gemaakt.
Als je bijvoorbeeld op vakantie gaat dan laat je geen ladder
en gereedschap in de achtertuin slingeren, ookal heb je
hang- en sluitwerk die het politiekeurmerk dragen.

Wat niet aanwezig is, kan niet gebruikt worden.
19-04-2006, 16:57 door SirDice
Door Virtal
Door SirDice
Ik doelde meer op remote benaderbare zaken... Services dus..
Iets wat uit staat is niet te benaderen.. Iets wat niet te
benaderen is is niet te misbruiken..
Iets wat niet direct remote te benaderen is zou indirect te
benaderen kunnen zijn via een proces of toepassing dat wel
direct te benaderen is. Of dit het gevolg is van een bug,
implementatie, configuratie of gebruiksfout is minder
relevant. Het blijft een wezenlijk risico.
Ja, ok.. Point taken..
En op Linux/BSD/Unici slingeren ook veel zaken
die niet gebruikt worden.. Daar moet je ook moeite voor doen
om ze te verwijderen.. Waarom zou je op een productie
machine GCC hebben staan bijvoorbeeld..
GCC zit bij mijn weten niet bij de 'base', dit zou per
distributie kunnen verschillen. Mochten er na een minimale
installatie toch zaken op staan die je niet wenst, dan is
dat gemakkelijk te managen.
Bij Free- en OpenBSD zit GCC op zeker in de "base", linux
zou inderdaad per distro kunnen verschillen maar bij de
meeste wordt het standaard geinstalleerd. Voor FreeBSD moet
je in /etc/make.conf expliciet aangeven dat je geen GCC wil
anders is'ie bij de eerst volgende update gewoon weer
geinstalleerd..
19-04-2006, 17:04 door Virtal
Door SirDice
Bij Free- en OpenBSD zit GCC op zeker in de "base", linux
zou inderdaad per distro kunnen verschillen maar bij de
meeste wordt het standaard geinstalleerd. Voor FreeBSD moet
je in /etc/make.conf expliciet aangeven dat je geen GCC wil
anders is'ie bij de eerst volgende update gewoon weer
geinstalleerd..
Dit is dus precies de kracht van
dergelijke systemen ;)
19-04-2006, 18:15 door SirDice
Ja ok.. Punt blijft dat je ook op Linux/BSD/Unici moeite moet doen om iets helemaal weg te kunnen halen..

Maar goed, sommige windows onderdelen zijn inderdaad niet helemaal of zelfs helemaal niet te verwijderen.. Ik bedoel, wat moet je nu in hemelsnaam met een grafische gebruikers interface op een server?!? Je zit er nooit achter (veel te koud in de serverruimte) en die server is prima remote te beheren met allerhande fantastische tools.. Dus die GUI op de server kan, wat mij betreft, gewoon uit.. maar ja.. dat gaat niet met een windows server..
19-04-2006, 19:33 door Virtal
Door SirDice
Ja ok.. Punt blijft dat je ook op Linux/BSD/Unici moeite
moet doen om iets helemaal weg te kunnen halen..
Je
hebt de mogelijkheid de zaak te managen door een paar
handelingen te verrichten.
Maar goed, sommige windows onderdelen zijn inderdaad
niet helemaal of zelfs helemaal niet te verwijderen..
Voorbeeldje: je zet een service uit en je wilt deze
verwijderen; hoe bepaal je welke bestanden je kunt wissen als je dit goed
wilt doen?
21-04-2006, 13:08 door Anoniem
Ik mis van bovenstaande plaatjes de volgende setup:
Apache op een windows machine.

Het is dan tenminste mogelijk om te zien of het verschil in
het aantal systemcalls in de applicatie ligt of in het OS.
21-04-2006, 15:47 door Anoniem
Als doorgewinterde MS admin (tevens Windows + MacOS developer) ben
ik nu al m'n serverparken aan het vervangen met FreeBSD. Via Debian in
de open source wereld gevallen. Wat een verademing, wat een kracht, wat
een controle! Terwijl windows steeds logger wordt, worden de open
source kernels alleen maar kleiner.

Het is weldegelijk zo dat hoe complexer hoe moeilijker het is het OS te
beveiligen. En wat veel mensen hier vergeten, de vraag is niet: "Kan mijn
machine gehacked worden?" de vraag is "Wanneer wordt ie gehacked?"

Als ze binnen zijn (en daar kan je 'gerust' op rekenen) wil je zorgen dat de
schade beperkt blijft. Ik kan als een ongeauthoriseerde gebruiker op een
windows server welliswaar weinig data lezen (encrypted) maar wel zeer
eenvoudig de hele schijf deleten. Iets wat ik op mijn FreeBSD machines
oa dmv Jails en readonly partition mounts zo moeilijk mogelijk heb
gemaakt. Een partition readonly mounten op windows? Bij elke Linux/Unix
server installatie een standaard procedure.

Mijn klanten wil ik niet laten wachten totdat de leverancier van de producten
waar ik duizenden euro's voor betaald heb (in het geval van M$) op hun
dooie gemakkie een patch heeft gereleased. Bevalt me dan ook prima dat
ik vulnerabilities evt zelf al kan oplossen door de kernel aan te passen
voordat de patch in de release zit.

Windows is erg leuk als desktop, maar als internet server is het
voorbijgestreefd door de meer eenvoudige en daarmee veiligere
alternatieven.


jk
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.