Ontwikkelaars veronachtzamen zwakke plek in Windows
De zwakte werd vorig jaar al eens uitgemeten door Chris Paget, die de aanvalsmethode die daardoor mogelijk wordt ‘shatter attack’ doopte. Deze methode maakt gebruik van de manier waarop het Windowsonderdeel WMTimer besturingsgegevens met de rest van het besturingssysteem uitwisselt. Dit mechanisme kon door een pcgebruiker misbruikt worden om zich meer bevoegdheden toe te eigenen dan hem waren toegestaan. Bij privégebruik van de pc is dat geen probleem, maar in bedrijfsnetwerken waar de bevoegdheden op de desktops uit beveiligingsoverwegingen ingeperkt worden, levert dit gat wel risico’s op. Patch Microsoft reageerde na aanvankelijke ontkenning van de ernst van het probleem met een patch voor de methode die Paget via WMTimer had ontwikkeld. Met die patch is het probleem echter niet de wereld uit, betoogt Oliver Lavery van beveiligingsbureau iDefense nu. De mogelijkheid om meer bevoegdheden te verkrijgen kan zich namelijk iedere keer voordoen wanneer er toepassingen op de pc draaien die in hun achtergrondfuncties meer bevoegdheden hebben dan de gebruiker zelf. Het probleem komt volgens Lavery voort uit de werking van het berichtensysteem dat Windowsonderdelen onderling en met toepassingen gebruiken om besturingsgegevens uit te wisselen. In die systematiek wordt de inhoud van een bericht alleen gecontroleerd door de module die het bericht verstuurt. Wanneer het bericht het adres van een functie bevat die de zendende module wel, maar de ontvangende module niet kent, is er van effectieve controle geen sprake. Een hacker kan daar gebruik van maken om eigen code te laten uitvoeren. Lavery vond in de documentatie van de Windows Software Developers Kit verschillende modules die net als WMTimer adressen van functies versturen. Het enige dat een hacker dan nog nodig heeft is een mechanisme om een zendende module te laten verwijzen naar een adres waar code van eigen makelij staat. Daarvoor heeft hij een toepassing met de privileges nodig die het berichtensysteem rechtstreeks laten aansturen door invulschermen die de gebruiker gepresenteerd worden. Volgens Lavery vond hij zonder veel inspanning vier toepassingen die aan deze omschrijving voldoen: de Personal Firewall 2.1.4 van Kerio, de Sygate Personal Firewall Pro 5.0 en de McAfee VirusScan 7.0 en het virtualisatiehulpmiddel WinVNC 3.3.6 van AT&T. Overigens ontkent Network Associates dat de door Lavery beschreven methode werkt met de Amerikaanse versies van McAfee VirusScan 7.0. De beste methode om deze vorm van misbruik te verhinderen, is te voorkomen dat gebruikers rechtstreeks toegang krijgen tot applicaties met op besturingssysteemniveau geprivilegeerde functies. Die methode wordt ook al sinds jaar en dag door Microsoft aangeprezen. Dat zou gerealiseerd kunnen worden door een apart gebruikersinterface tussen de applicatie en de gebruiker te schuiven dat speciaal ontworpen is om toegang tot de geprivilegeerde achtergrondfuncties onmogelijk te maken. Softwareontwikkelaars doen dit echter niet altijd, omdat ze zich niet van het probleem bewust zijn, stel Lavery. Ook softwareontwikkelaars van Microsoft hebben boter op hun hoofd. Onlangs maakte Microsoft bekend een lek te hebben gevonden in de Utility Manager. Dat bleek een schoolvoorbeeld van de fundamentele zwakke plek die Plaget en Lavery aan de orde stellen. Gevolgen Microsoft stelt dat de gevolgen van het probleem miniem zijn, omdat een shatter attack alleen de toegang tot een lokale pc verruimt. Lavery vindt het risico groter, omdat de shatter attack ook is in te zetten door medewerkers die van buitenaf inloggen op het bedrijfsnetwerk. Hoe gevaarlijk het gat in de praktijk is, zal mede afhangen van de configuratie van het netwerk. De mogelijkheid dat iemand als geautoriseerd gebruiker de volle kracht van een bedrijfspc kan inzetten om het netwerk te kraken, moet in ieder geval tot nadenken stemmen.