Hoofdcategorieën
Device Settings

Onderzoekers kraken random-generator Windows 2000

Door Olaf van Miltenburg, dinsdag 13 november 2007 15:44, views: 26.183

Israëlische onderzoekers van de Universiteit van Haifa zijn er in geslaagd het algoritme van de pseudo-random number generator van Windows 2000 te reconstrueren en zijn zo op een aanvalsmethode gestuit.

De kwetsbaarheid die de onderzoekers hebben gevonden met betrekking tot de pseudo-random number generator stelt een aanvaller in staat informatie te achterhalen die verzonden is voor de hack van het systeem heeft plaatsgevonden. De prng van Windows is cruciaal voor de beveiliging van bijna alle applicaties die draaien op het besturingssysteem. Het algoritme van de generator is nooit gepubliceerd.

Random karaktersDoor de binaire code van Windows 2000 te analyseren is het Israëlische onderzoeksteam er echter in geslaagd het algoritme te reconstrueren en de beveiliging ervan op de proef te stellen. Het team kwam tot een succesvolle aanval: als de staat van de generator bekend is aan de aanvaller, bijvoorbeeld door een bufferoverflow, blijkt het mogelijk de voorgaande staat af te leiden. De manier waarop Windows gebruikmaakt van de generator blijkt bovendien het effect van de aanvalsmethode te versterken.

Zo bleek de staat van de generator pas ververst te worden nadat 128KB aan gegevens doorgestuurd zijn naar het proces dat de generator aangeroepen heeft. Bovendien draait elk proces een andere kopie van de prng. Gevolg is dat een aanval waarbij de staat van de generator bekend is 128Kbyte aan data kan onthullen van voor of na die staat, zoals ssl-sleutels.

Volgens de onderzoekers is hun aanval ernstiger en efficiënter dan reeds bekende aanvalsmethoden waarbij een aanvaller alleen achter ssl-sleutels kan komen als deze controle heeft over het systeem op het moment dat de sleutels gebruikt wordt. Het lijkt er echter wel op dat de applicatie die de prng aangeroepen heeft vatbaar moet zijn voor een aanval of dat de aanvaller administrator-rechten op het systeem moet zien te bemachtigen om het lek te misbruiken.

Het team heeft alleen Windows 2000 onderzocht, maar neemt aan dat Windows XP en Vista dezelfde generator gebruiken en dus ook kwetsbaar zijn.

Volgende 16:32 Dell presenteert 30"-scherm met DisplayPort-aansluiting
Vorige 15:01 Nokia lonkt naar modebewuste beller met design-mobieltjes
Advertentie

Reacties

«  1  2  »

Een zeer originele manier om een aanval uit te voeren dat wel.
Het lijkt er echter wel op dat de applicatie die de prng aangeroepen heeft vatbaar moet zijn voor een aanval of dat de aanvaller administrator-rechten op het systeem moet zien te bemachtigen om het lek te misbruiken.
Gelukkig valt de ernst van de situatie nogal mee. Als je adminrechten op een pc kan krijgen is een bestaand ssl wachtwoord niet echt je grootste zorg.

"Klik hier om de nieuwste emoticons te downloaden"

Maar wat de mensen niet weten, is dat het hier eigenlijk niet gaat om emoticons, maar -heel slim- om een verborgen app die de prng aanroept. :Y)

Dat gaat dus niet werken:
Bovendien draait elk proces een andere kopie van de prng.


w2k is inderdaad ondertussen wel verouderd, maar er zijn nog legio bedrijven waar ze het gebruiken.

Oud misschien, maar nog wel veel in gebruik.

Bedrijven gaan echt niet "zomaar" migreren als het kosten/baten verhaal niet genoeg op gaat leveren.

Maar die baten worden snel groter als Windows 2000 een veiligheids risico blijkt te zijn.

[conspiracy-theory modus]
Dus ms heeft ze betaald om win 2k te hacken zodat bedrijven wel over moetten
[/conspiracy-theory modus]

Windows 2000 is wel End-Of-Life , enkel met speciale contracten krijg je nog support.
Lijkt mij dat menig bedrijf EOL wel als reden ziet om over te stappen. De bedrijven die EOL niet zien als reden om over te stappen, zullen ook geen probleem hebben met deze "hack" aangezien ze veiligheid en support al niet hoog in het vaandel draaien.

http://support.microsoft.com/lifecycle/?p1=3071
http://support.microsoft.com/lifecycle/?p1=7274

Windows 2000 Professional/Server EOL: 30/06/2005 Ext.L: 31/07/2010

[Reactie gewijzigd door klakkie.57th op dinsdag 13 november 2007 16:25]


Wat maakt die officiele support nou uit, wie gebruikt dat nou? Security updates worden nog steeds uitgebracht voor win2000. Ik draai het op m'n server thuis ook in dual boot met Linux, en heb voorlopig nog geen behoefte om over te stappen naar XP op die machine (die bak kan Vista niet eens aan).

Volgens mij gebruikt ieder bedrijf dat zichzelf respecteert support contracten.
Ik reageerde op de post van EbOoZ en die had het wel degelijk over bedrijven.

bij ons op de zaak is windows 2000 al enige tijd verplicht ge-upgrade naar windows 2003 en over enige tijd zal dit opnieuw gebeuren aangezien in 2010 de standaard support voor windows 2003 weer zal komen te vervallen.

[Reactie gewijzigd door klakkie.57th op dinsdag 13 november 2007 16:31]


Volgens mij gebruikt ieder bedrijf dat zichzelf respecteert support contracten.
Er zijn vele zichzelf respecterende bedrijven die dat niet kunnen betalen.

Ik ga niet een welles nietes spelletje beginnen, maar ...
Als ik de benzine niet kan betalen koop ik ook geen auto.
Dus een bedrijf dat geen software upgrade of support kan betalen, kan je dat dan wel een "echt" bedrijf noemen, of misschien gebruiken ze producten die ze zich niet kunnen veroorloven, en moeten ze naar wat anders uitkijken.

Over wat heb je het nu eigenlijk een paar 1000 euro om de paar jaar, dat is echt een habbekrats. Van het upgrade bedrag kan je nog niet eens een werknemer betalen. Volgens mij heeeft menig tweaker geen idee wat software kost en hebben ze enkel reatil-prijzen voor ogen.

Het zijn niet de prijzen van de software die beslissen om wel/niet te upgraden.
het is meer de achterliggende hard en software.
en er zijn genoeg bedrijven de met oude software werken.
het is dat windows NT4 geen usb ondersteuning heeft
anders zouden er genoeg bedrijven zijn de niet update.

en wat betreft deze hack
zolang W2K in een gesloten netwerk draait is er niets aan de hand.
in mijn ogen moet een bedrijfsnetwerk niet aan de buitenwereld hangen zonder een goed (liefst hardware) firewall.

Je wagenpark moet ook naar de keuring dus gaan ze op onderhoud, je wagens hebben ook een verzekering want er kan altijd wat mis gaan, en daar zeurt niemand over met software/hardware is het net zo .. je neemt een support contract anders ben je niet serieus bezig met je zaak bezig.
Je moet maar eens een klant of toeleverancier zijn van zo een bedrijf , komen jou gegevens op straat le liggen omdat dat bedrijf zijn veziligheid niet goed voor mekaar heeft.

Trouwens Firewall haalt niks uit tegen een hack van binnenuit en laat dat nou net de reden zijn waarom je ook je security van binnen voor mekaar hebt.

Als ik dit hier zo lees moet je niet schrikken dat er zoveel bedrijven last hebben van spyware/malware/virussen en hacks..ze vragen er gewoon zelf om.

[Reactie gewijzigd door klakkie.57th op dinsdag 13 november 2007 22:04]


Ik snap je punt wel hoor klakkie en ben het ook helemaal met je eens, maar er zijn genoeg bedrijven die te maken hebben met kleine marges op de producten en met een management die het vertikt om ook maar een cent teveel te betalen "als het toch goed werkt". En dan heb je buiten dat nog de mentaliteit "dat gebeurd toch niet bij ons".

Dat heeft verder niets met een bedrijf te maken wat zichzelf niet zou respecteren, maar simpelweg, omdat de organisatie dit soort situaties toe gaat laten als je niemand met kennis van zaken (wat IT betreft natuurlijk) in bijvoorbeeld het MT zou hebben.

Ik ga niet een welles nietes spelletje beginnen, maar ...
Als ik de benzine niet kan betalen koop ik ook geen auto.
Dus een bedrijf dat geen software upgrade of support kan betalen, kan je dat dan wel een "echt" bedrijf noemen,
Ja hoor, een bedrijf dat precies genoeg winst maakt om het salaris van 1 persoon te betalen, is een bedrijf.
Er blijft dan dus geen geld over om software te upgraden.
of misschien gebruiken ze producten die ze zich niet kunnen veroorloven, en moeten ze naar wat anders uitkijken.
Wat denk je van een schilder of klusjesman die 1 PC met printer heeft, een OS er op en een pakketje Word en Excel voor zijn boekhouding.
Waarom moet deze man lastig gevallen worden met software upgrades als hij zijn machine nog zeker 10 jaar lang kan gebruiken ?
Over wat heb je het nu eigenlijk een paar 1000 euro om de paar jaar, dat is echt een habbekrats. Van het upgrade bedrag kan je nog niet eens een werknemer betalen. Volgens mij heeeft menig tweaker geen idee wat software kost en hebben ze enkel reatil-prijzen voor ogen.
Volgens mij heb jij geen enkel idee hoe moeilijk sommige bedrijven het hebben.

Heel veel is nog op W2k technologie gebaseerd hoor, dus op zich is het heel actueel.

Zoiezo staat het al in het artikel
Het team heeft alleen Windows 2000 onderzocht, maar neemt aan dat Windows XP en Vista dezelfde generator gebruiken en dus ook kwetsbaar zijn.

[Reactie gewijzigd door thekip op dinsdag 13 november 2007 16:17]


daar staat dus "" ze nemen aan dat" kortom ze weten niets.

Aan de ene kant wel goed dat ze het doen, liever een paar onderzoekers dan een groep russische krakers :) Maar aan de andere kant, dit is onderzoek wat iemand anders niet zou doen omdat het teveel tijd kost. Nu is windows dus kwetsbaar terwijl het in oude situatie het niet zo was...Maar MS zal het nu wel moeten patchen (voor zover mogelijk).
Vind dat ze hun tijd beter kunnen besten aan nieuwe beveiligingstechnieken ipv dit. MS kan het met de source in handen veel sneller.

[Reactie gewijzigd door Mr_gadget op dinsdag 13 november 2007 16:00]


Als MS daadwerkelijk de intentie hadden om de prng te onderzoeken, dan is het waarschijnlijker dat ze die hele prng direct goed ontworpen hadden.
Blijkbaar vonden ze bij MS de prng een goede oplossing en is er een onderzoek van onafhankelijke mensen voor nodig om dat te weerleggen.

edit: tiepvaud

[Reactie gewijzigd door sobani op dinsdag 13 november 2007 16:39]


Het team heeft alleen Windows 2000 onderzocht, maar neemt aan dat Windows XP en Vista dezelfde generator gebruiken en dus ook kwetsbaar zijn.
* TRRoads mompelt iets over assumption en mother

Het team neemt aan dat XP en Vista hetzelfde algoritme gebruiken, maar we zijn inmiddels flink wat verder dus het is goed mogelijk dat er een compleet ander algoritme gebruikt wordt.

Het is dus niet al te verstandig van ze om dat zomaar aan te nemen, zeker aangezien dat op zich eenvoudig te achterhalen moet zijn nu ze weten waar te kijken.

[Reactie gewijzigd door TRRoads op dinsdag 13 november 2007 22:01]


Vraag ik me af hoe het dan zit met XP en Vista. Het lijkt mij best mogelijk dat dit onderdeel van het OS, zeker in het geval van XP, een kopie is van de 2000-versie. In ieder geval zal de werkwijze hetzelfde zijn...

Uit het artikel:
Het team heeft alleen Windows 2000 onderzocht, maar neemt aan dat Windows XP en Vista dezelfde generator gebruiken en dus ook kwetsbaar zijn.

Van wat ik tijdens DevDays 2007 heb gehoord, is de hele cryptografische library in Vista op de schop genomen: Best een aanwezige kans dus dat het in Vista anders zit.

Ik neem aan dat het om de random generator in de Visual C/C++ runtime library gaat en niet de random generator in de Cryptography API. Het klopt overigens dat Vista en Windows 2008 Server een vernieuwde Cryptography API ondersteunen.

Het gaat om de CryptGenRandom functie uit de Cryptography API, niet om de rand() functie uit stdlib.h; dat zou ook vrij nutteloos zijn omdat die sowieso niet bedoelt is voor cryptografische doeleinden.

Ik vraag me af of programma's die draaien onder Windows ook gebruik maken van deze generator. Als dat zo is, dan zijn die ook gevoelig hiervoor, toch? Ik kan me voorstellen dat bijvoorbeeld Java een eigen random nummer generator heeft (virtuele machine e.d.), maar is dat ook zo bij C / C++ e.d. programma's?


Waar zie jij staan dat ze _geen_ contact hebben opgenomen met MS :?

Zie jij een patch? Ik zou dit probleem toch als kritiek beschouwen.

Net zoals zoveel andere problemen. Beter dat wij dit nu ook weten, want andere hackers wisten het toch vast al. Er is niet zoiets als security through obscurity.

Je ziet geen patch van MS omdat win2k niet meer ondersteund wordt. Pas als dit ook voor XP geldt maken ze misschien een patch voor XP, maar zeker niet meer voor 2k.

MS maakt tot in 2010 security updates. Geen paniek dus.

http://support.microsoft.com/lifecycle/?p1=3071

Het kan aan mij liggen maar ik vind het allemaal redelijk normaal klinken en zeker niet spannend. Een random getal van een generator is toch altijd gebaseerd op de staat van de generator en dus ook op de vorige output/systeemklok etc.

Lijkt me vrij logisch dat als je via reverse engineering tot assemblycode/broncode komt dat je dan kan voorspellen wat er is gebeurt/gebeuren gaat.

Verder wordt er ff verondersteld dat men achter de staat komt via een bufferoverflow...

kortom als de code gewoon goed geprogrammeerd is/aangepast wordt zodat bufferoverflow niet mogelijk is dan is de hele methode waardeloos.

verder zal geen enkel programma keys uitleveren die 100% deze random waarde bevat en dus moet je nog altijd ook ff over de broncode/werking daarvan beschikken.

ps. het nabouwen/reverse engineren van iets is niet hetzelfde als het "kraken" van iets tenzij dit direct leidt tot een key.

[Reactie gewijzigd door Thundy op dinsdag 13 november 2007 16:30]


Bijna goed: lineaire congruentie methodes klopt dit voor, maar een beetje random generator voor crypto doeleinden voert continue randomness toe aan de generator (interupt ratio, muisbewegingen, disk activiteiten) om zo te voorkomen dat je kunt voorspellen. Ook dit is niet waterdicht (als je het aantal netwerk pakketjes per seconde mee gaat nemen kun je het extern beinvloeden...) maar zeker niet te hacken op de door jou voorgestelde wijze.

kortom als de code gewoon goed geprogrammeerd is/aangepast wordt zodat bufferoverflow niet mogelijk is dan is de hele methode waardeloos.
Doe jij dat even? Bufferoverflows kunnen in elke software zitten, en daar kun je maar beter rekening mee houden. Er zijn genoeg gebruikers met ongepatchte software.
ps. het nabouwen/reverse engineren van iets is niet hetzelfde als het "kraken" van iets.
Dat word ook niet beweert, men heeft 'm gekraakt na het reverse engineeren... Als je zegt dat je algoritme pseudo-random nummers produceert, en als er dan aangetoond is dat dit niet het geval is, dan kun je zeggen dat het algoritme, en daarmee de PRNG, 'gekraakt' is.

[Reactie gewijzigd door JanDM op dinsdag 13 november 2007 16:54]


waar lees jij dat dit niet het geval is?

het enige wat ze aangetoond hebben is dat ALS ze de state weten, ze het vorige getal kunnen berekenen en pas NA het achterhalen van de broncode.

iets wat mij vrij logisch en ongevaarlijk klinkt aangezien je toch echt al dik binnen in het systeem moet zijn (via een hack) voordat je uberhaubt toegang hebt tot het geheugen van PRNG (via nog een hack)...

Dat is dan een behoorlijke blunder van de Microsoft programmeurs. Pseudo-random number generators 101: zorg dat je uit de toestand van de PRNG op moment t de toestand op moment t - 1 niet kan afleiden. Zie ook http://en.wikipedia.org/wiki/PRNG.

Is het niet zo dat ze juist de andere kant opgaan, naar t+1?
Dus de toekomst in, waardoor de randomness verdwijnt.

enig idee hoe oud deze opzet is? van pakweg 1998 ongeveer dus bijna 10 jaar geleden. Kom jij aan met een brandnieuw artikel waarin recente ideeen verwerkt zijn en dat vergelijk je met oude software. Dan kom je tot de wereldschokkende conclusie dat het niet meer bij de tijd is.
Dat is een behoorlijke blunder van confusion lijkt me ;)
«  1  2  »

Op dit item kan niet meer gereageerd worden.

Volgende 16:32 Dell presenteert 30"-scherm met DisplayPort-aansluiting
Vorige 15:01 Nokia lonkt naar modebewuste beller met design-mobieltjes
VNU Media logo Hosted by True

© 1998 - 2012 Tweakers.net B.V. - Alle rechten voorbehouden - Contact - Jouw privacy - Algemene Voorwaarden

Uitgever van:

Website van het jaar 2011