Ontwikkelaars omzeilen UAC in Vista
Bescherming geeft vals gevoel van veiligheid
29 april 2008 | Pieterjan Van Leemputten
Ontwikkelaars van NeoSmart, een softwareorganisatie zonder winstoogmerk, zeggen dat ze de User Account Control (UAC) in Windows Vista kunnen omzeilen. Volgens hen is deze vaak ergerlijke beveiligingswaarschuwing er enkel om een 'veilig gevoel' te scheppen.
De UAC-functie ligt al vanaf het begin onder vuur omdat zij telkens bij het uitvoeren van een (mogelijk) gevaarlijk programma om toelating vraagt. In tegenstelling tot bij Linux is het echter niet nodig om een wachtwoord in te tikken. De functie komt bijgevolg dus enkel storend over en zelfs bij het uitschakelen blijft Windows u regelmatig herinneren aan het risico.
Omweg
NeoSmart probeerde UAC te omzeilen omdat het een van haar programma's blokkeerde. iReboot is een programma om verschillende besturingssystemen op een computer te zetten. De beveiliging van Vista doet hier echter moeilijk over, waardoor de ontwikkelaars een omweg moesten bedenken.
Die omweg houdt in dat ze het programma in tweeën hebben gesplitst. Een eerste deel blijft op de achtergrond en heeft toegang tot het besturingssysteem zonder dat administratierechten nodig zijn. Het andere deel werkt op de voorgrond als een client; dat is een programma dat werkt met andere processen en dus zijn taken extern laat uitvoeren. In dit geval door het programma dat onder de radar van UAC blijft.
De omweg was niet vanzelfsprekend voor de ontwikkelaars. Waar hun programma normaal uit een honderdtal lijnen code moest bestaan, is dit uiteindelijk een veelvoud daarvan geworden.
De ontwikkelaars zijn niet bepaald lovend over Vista. "De pas ingevoerde beperkingen zijn hooguit kunstmatig en eenvoudig te ontwijken", schrijven ze op hun blog. "Ze zijn er enkel om een gevoel van veiligheid te creëren."
Lees meer artikels over :
vista, uac, user account control, neosmart, ireboot, security
bron: ZDNet
16/04/2009 01:00:57
Origineel bericht van Storm 29/04/2008
Complexere code is juist minder veilige code.
16/04/2009 01:00:56
Origineel bericht van Jon@ssis 29/04/2008
Waar zie jij het woordje "complexere" staan?
16/04/2009 01:00:56
Origineel bericht van Rax 29/04/2008
da's waar ... maar als je het te eenvoudig maakt, is het ook niet veilig ... je moet op zijn minst een aantal basisregels respecteren ... Een developer die secure code wil schrijven moet zowiezo een aantal checks inbouwen (input filtering om Buffer Overruns te vermijden, of Integer Overflows, SQL-, XML of LDAP-injections, etc etc). Secure code is dus zeker niet gelijk aan "de meest eenvoudige code om je programma te laten werken" ...
De developers waarvan sprake in dit artikel zijn ook redelijk dubbelzinnig ... aan de ene kant klagen ze dat ze een heleboel code moeten schrijven, maar aan de andere kant vinden ze dan toch dat UAC heel makkelijk te "omzeilen" is. Ach ja ...
16/04/2009 01:00:56
Origineel bericht van Biffy the Wifi 30/04/2008
Men kan pas stellen dat iets 100% beveiligd is als men de gebruikte code publiceert. Op die manier heeft iedereen zicht op wat er gebeurt, hoe dit gebeurt en kan men bewijzen dat het op een veilige manier gebeurt.
Bij Microsoft publiceren ze hun code niet zodat niemand kan verzekeren dat ze goed beveiligde producten maken. Men past m.a.w. 'security by obscurity' toe. Het maximale dat men dan kan verwachten is dat ze alles proberen om u een veiligheidsgevoel te verkopen, maar �©cht veilig zullen hun producten nooit zijn... totdat ze hun code publiceren en laten controleren.
16/04/2009 01:00:56
Origineel bericht van vista=flawed 30/04/2008
Waarom zou er geen risico zijn? Juist meer risico! Als uw programma zonder rechten via een of ander communicatieprotocol gewoon commandos kan laten uitvoeren door het programma met superuser rechten, krijg je nog zever. Dan moet je maar 1 keer klikken in UAC om het pgm met superuser rechten te installeren en voor de rest doet eender welk ander programma wat hij wil via het superuser programma...
16/04/2009 01:00:56
Origineel bericht van Niki 30/04/2008
Er moet dus een programma met administratie rechten geinstalleerd worden, waarvoor uac wel opduikt, en dit word dan bestuurd door een programma dat geen rechten nodig heeft, mja ik zie hier geen beveiligingsrisico in. Er zijn massas programmas dat op deze manier werken, hiervoor is UAC net gemaakt, om het installeren van dat deel dat wel rechten nodig heeft te stoppen.
16/04/2009 01:00:56
Origineel bericht van rax 30/04/2008
het is juist door het splitsen van je software in een stuk dat als niet-privileged werkt en een deel dat in achtergrond werkt als een service (=privileged), dat je vermijdt dat alle gebruikers van de software moeten aanloggen als administrator ... Deze "ontwikkelaars" hebben dus net gedaan wat de bedoeling is: zorgen dat het UI gedeelte van de software geen elevated privileges vereist en de rest gebundeld in een service die draait als "Local System" (met daartussen wellicht een communicatie-kanaal gebaseerd op LPC of named pipes).
Proficiat ... zucht.
Als iedereen dit zou doen, zouden we in grote bedrijven tenminste kunnen vermijden dat gebruikers nog moeten aanloggen als administrator, gewoon omdat bepaalde software slecht ontworpen is ... UAC blijkt dus toch nog positieve effecten te hebben: developers gaan hun software uiteindelijk veiliger maken om de UAC prompts te vermijden! (ik denk alleen dat de developers waarvan sprake in dit artikel het nog niet goed begrepen hadden 
16/04/2009 01:00:55
Origineel bericht van developer 30/04/2008
Voor het individuele geval van een piepkleine productivity tool als iReboot heeft het opsplitsen in client en server inderdaad bijkomende complexiteit tot gevolg. Dat is inderdaad wel lullig.
Echter in grotere toepassingen heeft opsplitsing in een client en een server net een vermindering van complexiteit tot gevolg. Je kan dan een lichtgewicht server maken die lekker veel clients tegelijk kan bedienen.
Ik ben het dus eens met de eerdere reactie dat iReboot niet m�©�©r gedaan heeft dan een industry best practice toepassen.
De kans bestaat ook dat de code van iReboot complex geworden is wegens hun onervarenheid met het client-server model. Als het echt goeie programmeurs zijn, dan ben ik er zeker van dat hun code veel eleganter zal worden in hun volgende iteratie.
16/04/2009 01:00:55
Origineel bericht van developer 30/04/2008
Lees zeker ook eens de comments op het originele artikel. De programmeur van iReboot krijgt serieus wat (imho terechte) vegen uit de pan, omdat hij duidelijk niet begrijpt wat hij gedaan heeft. Met UAC heeft Microsoft hem gedwongen om te programmeren zoals iedereen zou moeten programmeren: scheiding van privileged code en userland code.
Nu maar hopen dat zijn IPC beveiligd is...
16/04/2009 01:00:55
Origineel bericht van don Sjon 30/04/2008
och, til er allemaaal niet zo zwaar aan en zo geprikkeld.
er is maar 1 manier om 100% veilig met een PC te werken (eender welk OS).... de stekker uittrekken 
Blog : Zakelijke IT
Met de recente lancering van hun eerste update (in Windows termen het equivalent van een Service Pack) voor de vSphere 5 suite staat voor veel bedrijven het licht op groen om hun huidige vSphere 4 omgeving up te graden. Maar hoe eenvoudig is die taak?
lees meer »
in de kijker »
news
De opstarttijd van Windows 8 is zo kort dat er nauwelijks tijd is om in de Veilige Modus te geraken. Microsoft sleutelde daarom flink aan de bootcyclus.
lees meer »
news
In Antwerpen opent vandaag Gamebox, een project waar jongeren onder begeleiding van specialisten kunnen gaan gamen.
lees meer »
help
De webapplicatie Readlists maakt gratis e-books van door jou geselecteerde nieuwsartikelen en verstuurt ze naar je smartphone, tablet of e-reader.
lees meer »
Game
Twintig jaar geleden redde een groepje naamloze helden de wereld. Nu is het aan een nieuwe generatie om de demonen terug richting de hel te sturen.
lees meer »
wedstrijden »
Win 6x Mission: Impossible - Ghost Protocol!
Doe mee »