Lees het eens goed, het komt erop neer dat je via een applicatie met administrator rechten (in zijn voorbeeld een virusscanner), de security omzeilt. Het probleem is dus niet zozeer een windows probleem alswel dat bepaalde windows applicaties niet secure zijn.
Nee, lees jij het eens eens goed
Het probleem van het Windows message systeem is dat ieder window een message kan sturen naar ieder ander window, en dat het ontvangende window niet kan controleren waar de message vandaan kwam (!). Daar komt nog bij dat sommige messages bijzonder lompe dingen kunnen doen zonder medeweten of tussenkomst van het doel-window.
Uit de tekst:
Yes, you read that right; you can send any window a WM_TIMER message with a non-zero second parameter (the first is a timer ID) and execution jumps to that address. As far as I know, the message doesn't even go into the message queue, so the application doesn't even have the chance to ignore it. Silly, silly, silly...
Dus je kunt een window van een andere applicatie een WM_TIMER message sturen, en dan gaat die ontvangende applicatie code uitvoeren op het adres dat jij aanwijst! En dat - voorzover de schrijver weet - zonder dat het doel-window dat kan weigeren.
Dat is gewoon lomp. En misschien zijn er wel manieren om daaromheen te komen (mogelijk ten koste van bepaalde functionaliteit), maar als het standaard zo makkelijk is om een andere applicatie te beinvloeden, dan is dat een probleem van Windows, niet van de applicaties.
Dat wil ik overigens wel even veralgemeniseren, want dat geldt voor andere situaties net zo goed:
Als een platform zo in elkaar zit dat applicaties voor fatsoenlijke security om het platform heen moeten werken, dan is dat een probleem van het platform, en niet van de applicaties die er niet omheen werken.Vergelijkbare problemen zouden ook onder *nix kunnen voordoen, als een applicatie onder Root Rechten draait, en kan communiceren met een "user", zou als het programma niet goed in elkaar zit, ook misbruik kunnen worden gemaakt.
Ja, maar dan gaat het specifiek om fouten in de applicatie.
Een goed voorbeeld is XFree86, de meest gebruikte X server op Free OSsen. XFree86 draait als root. Alle X applicaties (die doorgaans als een gewone user draaien) moeten met de X server comminuceren. Als er in de X server een fout zit waardoor een X client meer kan dan hij zou moeten kunnen, dan is dat een security probleem. Van XFree86 wel te verstaan.
Maar de standaard API die door de Linux kernel wordt aangeboden (voornamelijk POSIX plus wat misc. UNIX98 en BSD spul) maakt het niet mogelijk voor user processes om enige invloed op XFree86 uit te oefenen als XFree86 daar niet mee accoord gaat.
En daar zit het grote probleem met MS Windows' messages: windows kunnen een (te) grote invloed uitoefenen op andere windows zonder dat het doelwindow daar om vraagt of mee accoord gaat.
Daarnaast is het zo, dat het op windows machines niet erg gebruikelijk is om andere mensen zomaar visueel toegang te geven (zeker niet op servers).
Nou... Op desktops en workstations dus juist wel he
Wat betreft servers heb je gelijk, daar zal dit gebrek niet zo snel problemen opleveren, maar het is en blijft een fundamenteel win32 probleem.