Vés al contingut

Control de comptes d'usuari

De la Viquipèdia, l'enciclopèdia lliure
Arquitectura de l'UAC

El Control de comptes d'usuari (UAC) és una funció obligatòria d'aplicació del control d'accés introduïda amb els sistemes operatius Windows Vista[1] i Windows Server 2008 de Microsoft, amb una versió més relaxada també present a les versions posteriors a Vista, com ara Windows 7, Windows Server 2008 R2, Windows 8, Windows Server 2012, Windows 8.1, Windows Server 2012 R2, Windows 10 i Windows 11. El seu objectiu és millorar la seguretat de Microsoft Windows limitant el programari d'aplicació als privilegis d'usuari estàndard fins que un administrador autoritzi un augment o elevació. D'aquesta manera, només les aplicacions en què confia l'usuari poden rebre privilegis administratius i s'evita que el programari maliciós comprometi el sistema operatiu. En altres paraules, un compte d'usuari pot tenir assignats privilegis d'administrador, però les aplicacions que executa l'usuari no hereten aquests privilegis tret que siguin aprovades prèviament o que l'usuari ho autoritzi explícitament.

El Control d'Integritat Obligatori (UAC) utilitza el Control d'Integritat Obligatori per aïllar els processos en execució amb diferents privilegis. Per reduir la possibilitat que les aplicacions amb privilegis més baixos es comuniquin amb les que tenen privilegis més alts, s'utilitza una altra tecnologia nova, l'Aïllament de Privilegis de la Interfície d'Usuari (User Interface Privilege Isolation), juntament amb el Control de Comptes d'Usuari (User Account Control) per aïllar aquests processos entre si.[2] Un ús destacat d'això és el "Mode Protegit" de l'Internet Explorer 7.[3]

Els sistemes operatius en ordinadors centrals i en servidors han diferenciat entre superusuaris i usuaris durant dècades. Això tenia un component de seguretat evident, però també un component administratiu, ja que impedia que els usuaris canviessin accidentalment la configuració del sistema.

Els primers sistemes operatius domèstics de Microsoft (com ara MS-DOS i Windows 9x) no tenien el concepte de diferents comptes d'usuari a la mateixa màquina. Les versions posteriors de les aplicacions de Windows i Microsoft van fomentar l'ús d'inicis de sessió d'usuari no administrador, tot i que algunes aplicacions van continuar requerint drets d'administrador. Microsoft no certifica les aplicacions com a compatibles amb Windows si requereixen privilegis d'administrador; aquestes aplicacions poden no utilitzar el logotip compatible amb Windows amb el seu paquet.

Flux d'elevació de la UAC

Comportament a les versions de Windows

[modifica]
  • Windows 1.03.11 i Windows 9x: totes les aplicacions tenien privilegis equivalents als del sistema operatiu;
  • Totes les versions de Windows NT fins a Windows XP i Windows Server 2003 incloses van introduir diversos comptes d'usuari, però a la pràctica la majoria dels usuaris van continuar funcionant com a administradors per a les seves operacions normals. A més, algunes aplicacions requerien que l'usuari fos administrador perquè algunes o totes les seves funcions funcionessin.[4]
  • Windows Vista i Windows Server 2008: Microsoft va desenvolupar la seguretat de Vista primer a partir del compte d'usuari limitat (LUA), després va canviar el nom del concepte a Protecció de comptes d'usuari (UAP) abans d'introduir finalment el Control de comptes d'usuari (UAC).[5] Introduït a Windows Vista, el Control de comptes d'usuari (UAC) ofereix un enfocament per fomentar el "superusuari quan sigui necessari". La clau del UAC rau en la seva capacitat d'elevar privilegis sense canviar el context de l'usuari (l'usuari "Bob" continua sent l'usuari "Bob"). Com sempre, és difícil introduir noves funcions de seguretat sense trencar la compatibilitat amb les aplicacions existents.
    • Quan algú inicia sessió a Vista com a usuari estàndard, el sistema configura una sessió d'inici de sessió i assigna un token que només conté els privilegis més bàsics. D'aquesta manera, la nova sessió d'inici de sessió no pot fer canvis que afectin tot el sistema.
    • Quan una persona inicia la sessió com a usuari amb pertinença al grup Administradors, el sistema assigna dos tokens separats: el primer token conté tots els privilegis que normalment s'atorguen a un administrador i el segon és un token restringit similar al que rebria un usuari estàndard.
      • Les aplicacions d'usuari, inclòs el Windows Shell, s'inicien amb el token restringit, cosa que resulta en un entorn de privilegis reduïts, fins i tot quan s'executen amb un compte d'administrador.
      • Quan una aplicació sol·licita privilegis més alts o quan un usuari selecciona l'opció "Executa com a administrador", el control d'accés a l'usuari (UAC) demanarà als usuaris estàndard que introdueixin les credencials d'un compte d'administrador i demanarà als administradors que ho confirmin i, si es dona el consentiment, continuarà o iniciarà el procés utilitzant un token sense restriccions.[6]
  • Windows 7 i Windows Server 2008 R2: Microsoft va incloure una interfície d'usuari per canviar la configuració del Control de comptes d'usuari i va introduir un nou mode de notificació: la configuració predeterminada. Per defecte, el Control de comptes d'usuari no demana consentiment quan els usuaris fan canvis a la configuració de Windows que requereixen permisos elevats a través de programes emmagatzemats a %SystemRoot% i signats digitalment per Microsoft. Els programes que requereixen permís per executar-se encara activen una sol·licitud. Altres configuracions del Control de comptes d'usuari que es poden canviar a través de la nova interfície d'usuari es podrien haver accedit a través del registre a Windows Vista.[7]
  • Windows 8 / 8.1 i Windows Server 2012 / R2: afegeixen un canvi de disseny. Quan s'activa el control d'accés a l'usuari (UAC), totes les aplicacions i la barra de tasques s'oculten quan l'escriptori està atenuat.
  • Windows 10 i Windows Server 2016-2022: les primeres versions tenen el mateix disseny que Windows 8 i 8.1. L'actualització d'aniversari (inclosa la versió 2016 de Windows Server, que es basa en aquesta actualització) afegeix un aspecte més modern, juntament amb compatibilitat amb el mode fosc. A més, Windows 10 afegeix compatibilitat amb Windows Hello al quadre de diàleg Control de comptes d'usuari.
  • Windows 11 i Windows Server 2025: tenen principalment el mateix disseny que les versions posteriors de Windows 10, però amb canvis visuals que coincideixen amb el nou aspecte de la resta del sistema operatiu.

Tasques que activen una sol·licitud d'UAC

[modifica]

Les tasques que requereixen privilegis d'administrador activaran una sol·licitud d'UAC (si l'UAC està habilitat); normalment estan marcades amb una icona d'escut de seguretat amb els 4 colors del logotip de Windows (a Vista i Windows Server 2008) o amb dos panells grocs i dos blaus (Windows 7, Windows Server 2008 R2 i posteriors). En el cas dels fitxers executables, la icona tindrà una superposició d'escut de seguretat. Les tasques següents requereixen privilegis d'administrador:[8][9]

  • Executar una aplicació com a administrador
  • Canvis a la configuració de tot el sistema
  • Canvis als fitxers de les carpetes per a les quals els usuaris estàndard no tenen permisos (com ara %SystemRoot% o %ProgramFiles% en la majoria dels casos)
  • Canvis a una llista de control d'accés (ACL), comunament anomenada permisos de fitxer o carpeta
  • Instal·lació i desinstal·lació d'aplicacions fora de:
    • La carpeta %USERPROFILE% (per exemple, C:\Users\{usuari que ha iniciat la sessió}) i les seves subcarpetes.
      • La majoria de les vegades això és a %APPDATA%. (per exemple, C:\Users\{usuari que ha iniciat la sessió}\AppData), per defecte, aquesta és una carpeta oculta.
        • L'instal·lador de Chrome i Firefox demana drets d'administrador durant la instal·lació. Si es concedeixen, Chrome s'instal·larà a la carpeta Fitxers de programa i el podran utilitzar tots els usuaris. Si es deneguen, Chrome s'instal·larà a la carpeta %APPDATA% i només el podrà utilitzar l'usuari actual.
    • La botiga de Microsoft.
    • La carpeta de l'instal·lador i les seves subcarpetes.
      • Steam instal·la els seus jocs a la subcarpeta /steamapps/, per tant no activa el control de comptes d'usuari. Alguns jocs requereixen requisits previs per a la instal·lació, cosa que pot activar el control de comptes d'usuari.
  • Instal·lació de controladors de dispositius
  • Instal·lació de controls ActiveX
  • Canvi de la configuració del Firewall de Windows
  • Canvi de la configuració del control d'accés a l'usuari
  • Configuració de Windows Update
  • Afegir o eliminar comptes d'usuari
  • Canviar el nom o el tipus de compte d'un usuari
  • Activació del compte de convidat (Windows 7 a 8.1)
  • Activació de la detecció de xarxa, compartició de fitxers i impressores, compartició de carpetes públiques, desactivació de la compartició protegida per contrasenya o activació de la transmissió multimèdia
  • Configuració dels controls parentals (al Windows 7) o de la Seguretat familiar (al Windows 8.1)
  • Execució del programador de tasques
  • Còpia de seguretat i restauració de carpetes i fitxers
  • Fusionar i suprimir ubicacions de xarxa
  • Activació o neteja del registre a les Preferències d'accés remot
  • Execució del calibratge de color
  • Canviar la configuració remota, de protecció del sistema o avançada del sistema
  • Restauració dels fitxers del sistema amb còpia de seguretat
  • Visualització o modificació de les carpetes i els fitxers d'un altre usuari
  • Executar el Desfragmentador de Disc, Restaura el Sistema o Transferència Fàcil de Windows (Windows 7 a 8.1)
  • Execució de l'Editor del Registre
  • Execució de l'avaluació de l'índex d'experiència de Windows
  • Resolució de problemes d'enregistrament i reproducció d'àudio, maquinari/dispositius i consum d'energia
  • Canviar la configuració d'energia, desactivar les funcions de Windows, desinstal·lar, canviar o reparar un programa
  • Canviar la data i l'hora i sincronitzar-la amb un servidor horari d'Internet
  • Instal·lació i desinstal·lació d'idiomes de visualització
  • Canviar la configuració administrativa de Facilitat d'accés

Seguretat

[modifica]

El control de comptes d'usuari (UAC) és una característica pràctica; no introdueix un límit de seguretat ni impedeix l'execució de programari maliciós.[10][11][12][13]

Leo Davidson va descobrir que Microsoft debilitava el control de comptes d'usuari (UAC) a Windows 7 eximint uns 70 programes de Windows de mostrar un indicador de UAC i va presentar una prova de concepte per a una escalada de privilegis.[14]

Stefan Kanthak va presentar una prova de concepte per a una escalada de privilegis mitjançant la detecció d'instal·ladors del UAC i els instal·ladors d'IExpress.[15]

Stefan Kanthak va presentar una altra prova de concepte per a l'execució de codi arbitrari, així com l'escalada de privilegis mitjançant l'autoelevació i la plantació binària del UAC.[16]

Referències

[modifica]
  1. «What is User Account Control?» (en anglès). Microsoft, 01-01-2015. [Consulta: 28 juliol 2015].
  2. «The Windows Vista and Windows Server 2008 Developer Story: Windows Vista Application Development Requirements for User Account Control (UAC)» (en anglès). The Windows Vista and Windows Server 2008 Developer Story Series. Microsoft, 01-04-2007. [Consulta: 8 octubre 2007].
  3. Marc Silbey, Peter Brundrett. «Understanding and Working in Protected Mode Internet Explorer» (en anglès). Microsoft, 01-01-2006. [Consulta: 8 desembre 2007].
  4. Torre, Charles. «UAC – What. How. Why.» (video) (en anglès), 05-03-2007. [Consulta: 8 desembre 2007].
  5. Howard, Michael. Writing Secure Code for Windows Vista (en anglès). O'Reilly Media, Inc., 2010. ISBN 9780735649316. 
  6. Kerr, Kenny. «Windows Vista for Developers – Part 4 – User Account Control» (en anglès), 29-09-2006. [Consulta: 15 març 2007].
  7. «Registry Tweaks to Customize User Account Control (UAC) Options in Windows Vista and Later - AskVG» (en anglès), 16-03-2008.
  8. Bott, Ed. «What triggers User Account Control prompts?» (en anglès), 02-02-2007. Arxivat de l'original el 2015-09-27.
  9. «Living with and benefiting from User Account Control» (en anglès). Microsoft, 09-12-2014.
  10. «Disabling User Account Control (UAC) on Windows Server» (en anglès). Microsoft Support Knowledge Base. Microsoft. [Consulta: 17 agost 2015].
  11. Russinovich, Mark. «Inside Windows 7 User Account Control» (en anglès). Microsoft. [Consulta: 25 agost 2015].
  12. Johansson, Jesper. «The Long-Term Impact of User Account Control» (en anglès). Microsoft. [Consulta: 25 agost 2015].
  13. Russinovich, Mark. «Inside Windows Vista User Account Control» (en anglès). Microsoft. [Consulta: 25 agost 2015].
  14. Davidson, Leo. «Windows 7 UAC whitelist: – Code-injection Issue – Anti-Competitive API – Security Theatre» (en anglès). [Consulta: 25 agost 2015].
  15. Kanthak, Stefan. «Defense in depth – the Microsoft way (part 11): privilege escalation for dummies» (en anglès). Full disclosure (mailing list). [Consulta: 17 agost 2015].
  16. Kanthak, Stefan. «Defense in depth – the Microsoft way (part 31): UAC is for binary planting» (en anglès). Full disclosure (mailing list). [Consulta: 25 agost 2015].