Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 59 reacties
Bron: eWeek

Microsoft heeft in de tweede bta van Vista een techniek toegevoegd die het misbruiken van lekken - met name buffer overflows - een stuk lastiger maakt: ASLR, oftewel Address Space Layout Randomization. Dit houdt in dat kritieke delen van het besturingssysteem iedere keer als het opgestart wordt op een andere plek in het virtuele geheugen worden ingeladen. Er zijn 256 verschillende mogelijkheden en een aanval die werkt door de processor naar het adres van een bepaalde systeemfunctie te laten springen heeft dus nog maar 0,4% kans op slagen. Meerdere pogingen wagen is natuurlijk een optie, maar de kans dat het een foute gok een crash van het lekke programma veroorzaakt is erg groot en snel alle mogelijkheden afgaan is dus niet heel erg realistisch. De techniek wordt standaard ingeschakeld, maar Microsoft benadrukt dat het meer een vangnet is voor onvoorziene problemen dan een oplossing voor slechte code. Het idee op zich is overigens ook niet nieuw: OpenBSD heeft het al jaren en voor Linux zijn er twee kerneluitbreidingen (PaX en Exec Shield) die soortgelijke functionaliteit bieden.

Moderatie-faq Wijzig weergave

Reacties (59)

PS: volgens onze Paul geldt dit niet voor de 32 bits versie.
Dit is wel ff belangrijk om te weten.
Zie http://www.winsupersite.com/showcase/winvista_ff_x64.asp
Iets anders dat mij opviel in de opsommng van Paul T.:
Another unique x64 feature, PatchGuard, prevents malicious software from patching the Windows Vista kernel. PatchGuard, Microsoft says, works by preventing kernel-mode drivers from extending or replacing other kernel services and preventing third-party software from patching any part of the kernel.
Gaat dit betekenen dat we compleet afhankelijk gaan worden van MS voor het dichten van kritieke fouten in de kernel? Gezien de manier waarop het WMF lek werd gedicht lijkt me het handig dat je toch in staat bent om een 3rd party fix te gebruiken, als de nood echt aan de man komt.
Het WMF-probleem zat helemaal niet in de kernel. Je bent nu trouwens ook al volledig afhankelijk van Microsoft om de kernel te onderhouden, en zo boeiend is dat helemaal niet: hoeveel problemen zijn er de laatste jaren mee geweest? Ik kan me er geen een herinneren, het is meestal Internet Explorer of anders een van de services.
Als ik me goed kan herinderen is het juist de rootkit die van het nu bestaande kernel-mode gebruikt maakt. De rootkit doet zich voor als een installatie van een driver waardoor deze door de protected kernel mode heen kan dringen. De preventing kernel-mode voorkomt dit juist. (correct me if i am wrong)

@SKiLLa: bedankt voor de aanvulling.
ASLR werkt goed tegen al bestaande rootkits/exploits en buffer-overflows (die zijn in 1x obsolete), maar er zijn talrijke manieren om de geheugenadressen van DLLs & system APIs te achterhalen, dus denk niet dat het meteen foolproof is ofzo; het is net zoiets als DEP, het helpt wel iets, maar lang niet zo goed als 'gehyped' wordt.

Het blijft uiteraard wel een verbetering :Y)

EDIT: @RedLizard ... goedwillende software kan nog gewoon vragen om een kernel-mode driver te installeren die (b.v.) middels hardware-breakpoints alsnog die dingen override ...
Nee. Het is alleen niet meer de bedoeling.

Het zal zeker mogelijk zijn om PG uit te zetten / te omzeilen. Het wordt alleen vanaf nu gezien als lomp misbruik van het operating system.

PG is voornamelijk een beveiliging tegen rootkit-achtige technieken. Als je momenteel een rootkit wilt schrijven, en je wilt dubieuze dingen doen, dan kan dat op twee manieren: via het OS, of om het OS heen. De eerste manier wordt - voor 'eerlijke' software als virusscanners - geprefereerd, maar is ook goed te detecteren. Als goede rootkit ga je die dus NIET gebruiken, maar neem je de omweg.

Het probleem is dat er ook genoeg virusscanners/firewalls/andere nuttige dingen zijn die de omweg gebruiken. Dus het feit dat je op ranzige plaatsen zit te spelen, betekent niks. Als PG straks actief is, mag het gewoon niet, punt. Met het effect dat 'eerlijke' software het niet meer doet. Conclusie: als je het wel doet, ben je automatisch een evil programma.

Het gaat er dus niet om dat het onmogelijk word om smerige dingen te doen. Dat zou wel leuk zijn, maar dat gaat toch niet lukken. Maar ze hebben nu WEL in 1 klap alle software die enge dingen doet, evil verklaard. En dat maakt de taak van rootkit scanners en dergelijke aanzienlijk makkelijker.
Tsja, in Linux is dat misschien not-done, maar bij Windows vind ik dat geweldig. Stel je voor dat Microsoft voor het patchen van Windows een Linux model gebruikt. Hoeveel mensen reageren er nu al niet op die idiote ads over "uw systeem is onveilig", of "uw systeem kan veel sneller" en installeren dan weet ik wat voor rotzooi? Het is eigenlijk heel simpel: er zijn teveel mensen actief op het Internet om deze, ongeacht welk OS ze gebruiken, te vertrouwen dat ze alleen "goede" software installeren. Teveel van die mensen snappen er namelijk de ballen van en als je een verhaal met drie technische termen erin aan ze ophangt dan zijn ze al overtuigd... Ik ben wat dat betreft wel blij met PatchGuard en UAP. Ik weet zeker dat ik die andigibeten waarvoor ik de computer beheer nu veilig achter de PC kan laten zitten...
Misschien dat nu wel vanaf Vista Beta 2 dit ook in de 32 bits versie zit ?!

Nu nog een patch dat het datagebied van een programma altijd achter het codegebied zit, zodat bij een bufferoverflow hoogstens een onbekend stuk code kan worden beschreven.
Als Microsoft net zoveel aandacht gaat besteden aan het maken van goede code als aan het implementeren van dergelijke vangnetten, dan denk ik dat een mogelijk uitstel van Vista helemaal geen ramp is. MS wil erg graag van het imago 'onveilig' af, en het lijkt erop dat ze daar hard aan werken.
Als MS het nu ook zo kan implementeren dat het niet 10000 wazige popups voor de gebruiker zijn (die vervolgens uit irritatie een dergelijke beveiliging uitzet) dan is dit zeker een stap in de goeie richting.
Als Microsoft net zoveel aandacht gaat besteden aan het maken van goede code als aan het implementeren van dergelijke vangnetten
Als alles goed gaat en iedereen houdt zich aan de verkeersregels heb je ook geen ABS en airbags nodig in je auto. Maar om de een of andere reden werkt het toch anders.

Zie het als iets extra's voor het geval dat er iemand iets over het hoofd heeft gezien
Als alles goed gaat en iedereen houdt zich aan de verkeersregels heb je ook geen ABS en airbags nodig in je auto. Maar om de een of andere reden werkt het toch anders.

Zie het als iets extra's voor het geval dat er iemand iets over het hoofd heeft gezien
De vraag is echter wel of dit een goede ontwikkeling is. Net zoals bij airbags in auto's. Ik heb ooit een keer een onderzoek gelezen waarin werd gesteld dat er bij een botsing beter een speer uit het stuur kon komen dan een airbag. Dit zou namelijk, in tegenstelling tot een airbag, preventief werken en daardoor zouden er minder ongelukken zijn. Ik denk dat dit ook voor software geldt. Neem bijvoorbeeld Internet Explorer 5.x/6.x. Deze werd redelijk populair omdat deze minder strikt omging met niet valide html-codes. Een slecht geprogrammeerde website werd dan toch nog weergegeven. Wat weer zorgt voor nog meer websites die slecht geprogrammeerd zijn.
Als Microsoft net zoveel aandacht gaat besteden aan het maken van goede code als aan het implementeren van dergelijke vangnetten...
Dit soort vangnetten zijn niet alleen voor code van Microsoft maar ook voor die van derden. Microsoft heeft een hoop gedaan om de beveiliging van Vista structureel te verbeteren, maar kan weinig doen aan (bestaande) software van anderen.
Als Microsoft net zoveel aandacht gaat besteden aan het maken van goede code als aan het implementeren van dergelijke vangnetten
Helaas zijn dit soort vangnetten meestal veel eenvoudiger dan zorgen dat de code overal goed is. Dit soort vangnetten pakken gelukkig ook foutjes die er doorheen glippen.

Nu maar hopen dat dit ze niet lui maakt en dat ze ook hard blijven zoeken naar de fouten en niet denken dat er toch voldoende vangnetten zijn om problemen te voorkomen.
Had dit niet onder BSD/Linux tot gevolg dat alle brakke software het niet meer deed?
Persoonlijk denk ik dat het een goede zet is, maar het zal er niet veel beter backwardscompatible om worden
Het lijkt me niet dat dit in Linux/BSD zit, want iedere distro gebruikt zo'n eigen gecompileerde kernel, dus werkt z'n soort hack als wat dit systeem probeert te voorkomen alleen maar op 1 distro (en vaak heb zo'n disto nog kernel updates ook).
Wat MS hier probeert aan te pakken is de inteelt die je nu overhoudt aan het feit dat 90% van alle thuiscomputers XP draait. Virussen, wormen, rootkits en andere crapware hebben vrij spel omdat ze precies weten wat er op het systeem draait waar ze hun ongein moeten uithalen. Als jouw applicatie vertrouwde op exacte geheugen locaties van de kernel was je zowiezo al een slechte programmeur.
Normaal heb ik weinig goeds te melden over de security features van windows, maar dit vind ik wel een stap in de goede richting, ook al is het iets wat linux al vanaf het begin heeft...
Het lijkt me niet dat dit in Linux/BSD zit, want iedere distro gebruikt zo'n eigen gecompileerde kernel, dus werkt z'n soort hack als wat dit systeem probeert te voorkomen alleen maar op 1 distro (en vaak heb zo'n disto nog kernel updates ook).
Fraai detail dat de meeste niet-commerciele Linux distributies standaard zijn uitgerust met een compiler en header-files zodat je de exploit voor iedereen systeem keurig kan compileren.

Verder blijft veel nog hetzelfde, en lopen de kernel-calls via libc die overal wel hetzelfde werkt.
Dat zal op windows echt niet anders zijn, daar praat je ook tegen de kernel met api-calls. Het gaat er hier om dat hacks die de api willen bypassen of de kernel on-the-fly aanpassen dat niet meer makkelijk kunnen.

Bovendien heb je er weinig aan dat er gcc op een systeem staat, want als je uberhaupt al gcc kan draaien heb je al meer dan genoeg access. Bovendien krijg je dan een kernel module die gewoon werkt via de normale api's, zie bovenstaande comment.
Het lijkt me niet dat dit in Linux/BSD zit
In Linux niet en in de meeste BSD's ook niet. Maar in OpenBSD (de veiligste van de 3 grote BSD's) wel.
Op linux gingen dingen met grsecurity kapot omdat je meestal samen met address space randomization de nonexecutable pages aanzet (het zgn NX bit sinds WinXP SP2). Datapagina's worden gemarkeerd als data en kunnen niet uitgevoerd worden. Leuk voor dingen als java: die alloceren een stuk datagebied en voeren het vervolgens uit...
Als brakke software niet meer werkt is dat mischien wel beter.. die software wil je nou juist niet op je PC hebben... Niet alleen het OS maakt je PC instabiel of lek. vaak is het ook de software van derden die mischien niet zo best in elkaar geknutseld is..
Ik ben zelf linux-gebruiker, maar je kan toch niet ontkennen dat Microsoft de laatste tijd heel wat inspanningen doet qua beveiliging. Misschien (en hoogstwaarschijnlijk) zijn ze er inderdaad te laat aan begonnen, maar nu zijn ze er wel mee bezig, en dat is alleen maar positief.
En voordat linux-fanboys gaan roepen dat MS technieken kopieert:

1.) Laten we blijwezen dat technieken rondom beveiliging overgenomen worden door alle partijen onderling. Zo word het hele PC-geheel veiliger.

2.) Linux gapt ook graag om zich heen. Ik noem Xgl/Compiz combo die bij de presentaties liet zien dat je ook Mac OS X kan nadoen op een Linuxdesktop :Y)

3.) Vista gaat een enorme verbetering vormen op het gebied van veiligheid in vergelijking met XP. Of het lang gaat duren is ten tweede, maar MS heeft er alles aan gedaan om lekken te voorkomen. Dikke pluim dus op dat gebied.
ad 3) Een pluim voor iets dat ze al veel eerder hadden moeten doen? Sorry hoor, maar normaal gesproken is dan de reactie "he he, het werd tijd".

Zelf heb ik die reactie als Linux gebruiker ook hoor, ik heb sinds een paar maanden _eindelijk_ hibernate aan de praat op mijn systeem en toen was ik natuurlijk wel erg blij, maar dat neemt niet weg dat ik vind dat het jaren terug al had moeten werken (en het is nog steeds _verre_ van perfect).
maar dat neemt niet weg dat ik vind dat het jaren terug al had moeten werken
En wie heeft jou tegengehouden om dat dan werkend te maken gezien het Linux betreft?
de beperking van Linux? (of de gebruiker)
Jezus Christus. Het is ook nooit goed, zeg. Probeer eens een keer te reageren met iets als: "Dat is een goed initiatief waar de gebruikers hun voordeel mee kunnen doen" in plaats van altijd die Calvinistische reacties.

<edit: typo>
Off topic hoor...:
maar laat ik dan maar enige moraal ridder zijn door even op te merken dat ik naar eigen beleving je " jezus christus" een beetje 'over done' vind.

Van mij mag je hoor, maar nodig ? Het komt op mij een beetje kansloos over. Ik hang verder geen bijzondere overtuiging aan of wat dan ook, of in wat voor hoek je me ook wilt stoppen.. vind het gewoon stom overkomen.

On Topic:
Je kunt zeggen wat je wilt van microsoft (ben geen fan :) ) maar het is wel duidelijk dat veiligheid steeds serieuzer en inteligenter aanpakken. Ik ben onlangs overgestapt op een apple ppc g4 maar wie weet iinstalleer ik ooit op een toekomstig aan te schaffen intel mac ook wel vista, mocht ik het toch nodig vinden.
Nou, eerst maar eens zien of het ook echt werkt.
Sinds iedereen last heeft van Spyware door IE, besluit Microsoft maar om er wat tegen te doen...

Als het een x preventief gebeurd, vind ik het ok...
Maar tis ALTIJD mosterd na de maaltijd.. :Z
Dat is ook een beetje inherrent aan de IT. Een software ontwikkelaar maakt iets, een stel nerds doet z'n best om het omver te trekken ... Het is niet zo dat het lek opgeleverd wordt, ze doen echt wel hun best, alleen doen anderen beter hun best om het te slopen.

En aangezien Microsoft de grootste doelgroep is (en het meest toegankelijk) worden ze vaker in een kwaad daglicht gesteld dan Unix of Mac OS. Zou 80% van de wereld op Linux draaien dan zouden daar de meeste lekken in gevonden worden.
Of je met admin rechten surft of niet, dat maakt natuurlijk niets uit. Ja oke, als je geen admin bent kan je dingen niet installeren op de PC...

Maar zou het niet handiger zijn, om gewoon niet naar vunzite sites te gaan, zodat je die troep niet eens ziet? :)
wil je niet iedereen over 1 kam scharen :/
het kan je wel een veilig gevoel geven maar of het echt veilig is weet je niet zeker..
Het zoeken naar lekken in FF zou zo'n kleine potentiele doelgroep opleveren dat dat de moeite niet is.
Zodra FF "groter" is dan IE zul je bemerken dat er meer lekken in FF gevonden zulle worden dan in IE..
ik weet niet of jij de davilex internet cursus hebt afgerond, maar de meeste spyware komt binnen door blindelings allemaal active X bestanden te installeren, of op admin rechten zitte surfen. maar als de gebruiker versand van zaken heeft dan kan hij redelijk ( ik lees hier: acceptabel ) veilig internetten, en anders neem je toch forefox, als dat een veilig gevoel geeft
Je zou ook eerste even kunnen kijken of het adres waar je heen springt wel de juiste code bevat.
Even met een try-catch er om heen wat mem-compares doen. :Y)
In het ergste geval moet je alle 256 opties eerst testen....
Je zou ook eerste even kunnen kijken of het adres waar je heen springt wel de juiste code bevat.
Als je al zo ver bent binnengedrongen dat je code kunt uitvoeren om dat te controleren heb je de sprong naar zo'n systeemadres helemaal niet meer nodig: dan kun je gewoon de functie zelf aanroepen.
afgezien van het feit dat je een segfault krijgt als je iets probeert te lezen waar je niet aan mag komen natuurlijk... daar helpt zelfs een try-catch niet tegen :+
In 1985 had mijn Amiga al weinig of geen 'vaste' plaatsen waar iets zat. Ja, de Execbase op $4, maar dat was het zowat wilde je zeker zijn dat het op elke Amiga werkte. En de chipset registers zaten ook 'vast', maar gelijk welke stack was heel variabel.

Toch opmerkelijk dat anno 2006 Microsoft nog steeds zulke, ik zou bijna durven zeggen hard-coded manier van werken heeft.
Eh, ook Linux en Unix werken op deze manier.

Dat de Amiga het anders deed lag meer aan de beperkingen van Amiga' geheugen capaciteit dan aan slim programmeren.
Euhm... het Exec werkte gewoon heel dynamisch en bouwde zichzelf op bij het starten.

Dat had verder niets met geheugenbeperkingen te maken.
Microsoft benadrukt dat het meer een vangnet is voor onvoorziene problemen dan een oplossing voor slechte code.

Die marketing jongens ook altijd :D
Hmm ja, maar als ze het niet zelf zouden zeggen dan zouden vele Tweakers zich geroepen voelen dit op te merken.
Doen sommige nu toch nog, kun je nagaan... |:(
Bij de titel moest ik gelijk aan dit plaatje denken (heeft overigens niets met deze beveiligingstechniek te maken):
http://www.flickr.com/pho...m.gne?id=151250154&size=o
ik heb ook liever dat ze standaard wat vangnetten erin zetten zodat de leek niet meteen spyware en virussen binnenkrijgt

mn vista customizen doe ik toch wel en al die troep is er ook zo uit, bovendien weet ik over het algemeen wel wat ik draai en wat er dus niet tussen hoort en als het aan mij ligt is dit dus een goede actie!
OpenBSD heeft het al jaren en voor Linux zijn er twee kerneluitbreidingen (PaX en Exec Shield) die soortgelijke functionaliteit bieden.
Mooi verwoord :P

De naam ASLR komt namelijk gewoon uit PaX die het als eerste had...
Waarom denk je dat het zo snel geimplementeerd kon worden. Ze hebben het gewoon volledig af kunnen kijken :+

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True