1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.
  2. A secção Microsoft/Windows encontra-se actualmente em processo de reestruturação.
    Remover anúncio

UAC - Discussão Geral

Discussão em 'Windows Desktop e Surface' iniciada por PrOdG, 20 de Dezembro de 2008. (Respostas: 71; Visualizações: 3175)

  1. PrOdG

    PrOdG Power Member

    Separado do tópico: [Discussão] Porque o Windows?
    ---------------------------------------------------------

    Não precisas de utilizar directamente o IE como browser para ser afectado pelos seus buracos.

    Em relação à história da segurança: o UAC é exactamente igual ao sistema de segurança que vem montado no Ubuntu com o sudo. E com isto quero dizer que são os dois completamente inúteis, e de "segurança" têm pouco. Felizmente, Linux não é Ubuntu.
     
    Última edição pelo moderador: 21 de Dezembro de 2008
  2. AwakE

    AwakE Banido

    Queres elaborar? É que estamos fartos de ouvir pessoas a dizer que o UAC é uma maravilha e não vale nada mas concretizações com exemplos é que tá quieto. Além de que "completamente" é uma palavra um bocadinho forte.

    Exemplo?
     
    Última edição: 20 de Dezembro de 2008
  3. _freelancer_

    _freelancer_ Power Member

    Mas AwakE, que ambos os sistemas são fracos penso que todos concordamos. A verdade é que se um nabo estiver a tentar abrir aquele ficheiro tus_fotos.gif(.com/.exe), não é uma caixa de confirmação ou o facto de o sistema operativo pedir a password que o vai parar. Ele vai permitir e em ambos os casos o malware consegue ter acesso completo.

    Pelo menos para mim, o que me faz confusão é os Linux evangelists usarem o UAC (e o facto deste não ter lá estado de origem) como motivo para dizerem que Linux > Vista. Simplesmente não faz sentido nenhum.

    É um facto que Linux não é Ubuntu mas qual é a alternativa em termos de *nix que seja mais segura nesse aspecto face ao Ubuntu/Vista? Talvez existam distribuições de Linux onde ele nem permita a elevação após acção de utilizador, mas nesses casos o programa não corre como desejado e na maioria das vezes nem é dado um output ao utilizador do que se passou.

    Lembro-me por exemplo do processo de compilação e instalação de programas a partir do source em Linux.

    1) ./configure (tudo muito bem)
    2) make (ok...)
    3) make install (caput, sem privilégios ele não vai conseguir meter os ficheiros nos lugares devidos)

    Este passo 3 é capaz de mostrar uns erros, mas o completo nabo nem vai reparar (se é que o completo nabo se vai dar sequer a este trabalho todo)... ou muito menos saber como resolver.

    Voltando à questão, Linux não é Ubuntu, mas existem alternativas melhores ao nível de segurança?

    Se bem me lembro, havia uma falha que afectava o Firefox no XP, isto apenas nas máquinas onde os utilizadores correm por defeito em modo de Administrador. Como o XP não tem UAC, qualquer aplicação 'exploitada' pode eventualmente conseguir deixar entrar algo.

    Esta nem parece tua esquiso :P .

    Facto 1 - Existem dezenas (para não dizer centenas) de milhares de pessoas na comunidade open-source a trabalhar sobre o código. Como se costuma dizer que duas cabeças pensam melhor que uma, centenas de milhares cabeças certamente pensam melhor do que muitos funcionários que uma empresa só tenha.

    Facto 2 - Quando uma destas pessoas descobre uma falha no Linux, qual é o procedimento imediato? Reportar o erro à comunidade ou tentar eles mesmos resolver; ficam bem na fotografia e ganham "crédito" nessa comunidade.

    Qual é o procedimento para falhas Windows? Tentar criar algo que consiga efectivamente "esburacar" essa falha :P ganham o gozo de furar sistemas fechados e o crédito do mundo underground.

    Ou seja, e para concluir, isso do ser open-source é mais fácil apanhar falhas é simplesmente falacioso. :)

    Edit: Ok, o esquiso estava a ser sarcástico, mas já agora deixo ficar o texto pois podem haver pessoas que pensem que existe mesmo essa relação. :)
     
    Última edição: 21 de Dezembro de 2008
  4. PrOdG

    PrOdG Power Member

    Bem, se a troca de ideias acerca da utilidade do UAC ou da existência de alternativas ao Windows é considerado offtopic num tópico chamado "Porquê Windows?", então não sei ao que chegámos. Se calhar mais vale apagarem-se estes últimos posts que claramente vão contra as regras e continuarmos com a sequência de posts interessantes e originais do género "porque gosto de jogar", "porque o linux é uma porcaria" ou "porque o meu hardware ultra xpto tem uma performance 10x melhor no windows". Porque isso sim é conteúdo de interesse.


    Continuando a conversa:
    AwakE, já postei algumas vezes sobre esta temática da falsa segurança que o UAC e o sudo (mais vezes sobre este último) trazem aos utilizadores, mas faço aqui um resumo do que me chateia no UAC.

    O problema fundamental do UAC é de concepção, é o colocar de uma camada de segurança num sistema que claramente não foi pensado de raíz para isso. Logo para começar, a conta de utilizador que é criada durante a instalação do Vista é a de administrador. . Não há sequer um mero conselho de que deve ser criada uma conta com privilégios reduzidos para a utilização normal. Para o Joe User, que quer é o computador a funcionar, esta é a única conta que vai ser utilizada - provavelmente nem sabe que pode ter mais que uma conta de login.

    Quando o Joe User precisa de fazer alguma acção privilegiada, há duas possibilidades:
    1. Embora esteja loggado como administrador, o sistema assume que o administrador é burro e não sabe o que está a fazer. Vai daí, apresenta-lhe uma mensagem equivalente a "Reparei que fez double-click num instalador. Tem a certeza que quer fazer double-click num instalador?". A segurança que se ganhou neste passo é NULA, é o equivalente a colocar um papel ao lado de uma tomada a dizer "Tens a certeza que queres meter os dedos aqui?" e achar que isso protege os miúdos de se electrocutarem.
    2. Se por um acaso milagroso for mais informado que 90% dos utilizadores normais e tiver criado uma conta com privilégios reduzidos, então chegámos ao único ponto em que o UAC consegue realmente dar alguma segurança extra: é-nos pedida a password de administrador para que possamos provar ao sistema que realmente temos capacidade para realizar acções potencialmente perigosas. O que é completamente idiota nisto tudo é que mesmo depois desta identificação voltamos ao passo 1! Porque para a MS, o que vai na cabeça do utilizador é "Fiz double click num executável, coloquei a password de administrador, mas realmente agora que perguntas acho que não tenho a certeza que quero mesmo fazer isto.." Completamente absurdo.

    Há ainda um assunto que eu acho particularmente interessante: o Vista assume por defeito que todos os instaladores devem correr com privilégios de administração. Quando fazemos double click sobre um instalador, o UAC pergunta-nos se aceitamos que esse executável corra com privilégios de administrador, ou se não corre e ponto final. O que significa que se eu sacar o Pacman e o quiser instalar sou obrigado a dar-lhe acesso a todo o meu sistema de ficheiros, ao registo, etc. Faz sentido, não faz?
    E perguntam vocês: como é que o Vista sabe se um executável é um instalador ou não? Aplica um conjunto de heurísticas, entre as quais a presença de 'setup' ou 'install' no nome do ficheiro. Não, não estou a brincar.

    Em relação ao sudo, como não tem propriamente a ver com o conteúdo desta thread, posso deixar para quem quiser alguns links para threads antigas onde já pude deixar clara a minha opinião.
     
  5. AwakE

    AwakE Banido

    Ou seja, não é um problema do UAC. Quem quiser faz uma conta de utilizador normal.

    Depois desta conversa toda, continuo a não perceber porque o UAC é inutil. Sim, aparecem popups depois de carregar em executáveis, mas também já me apareceram popups sem eu carregar em nada. Deu para perceber que algo de errado se passava, e garanto-te que nesse carreguei "NÃO!!!!". Ou seja para mim é cómodo, não tenho de estar a por passwords de Admin o que aconteceria se estivesse logado como user normal.

    Só um destaque para esta frase: "A segurança que se ganhou neste passo é NULA". No Linux se escolher correr o installer malicioso como root, de que é que me serviu a segurança? É exactamente a mesma coisa com a diferença que tive de por a password. O utilizador escolhe fazer algo perigoso, e o sistema permite fazer.

    Dado que a maioria dos installer altera o registo parece-me fazer sentido dar acesso ao registo. E sinceramente pensava que em Linux também tinhas de ser root para instalar coisas.

    Se tivesses dito que o UAC tem defeitos até percebia, mas disseste que era completamente inutil e não foi isso que provaste. O que há por aí é muito programa desenhado para usar privilégios de administrador quando não devia precisar. Em Linux um programa que peça root para correr é logo posto de lado, e em Windows ainda não há (nem irá haver) essa filosofia já que os utilizadores são menos exigentes, e nem percebem o que são os popups. Mas isso não é culpa do SO, é culpa dos developers e utilizadores.

    Se trocasses as comunidades e pusesses o utilizadores de Windows a usar Linux e vice-versa, tinhas tudo a usar ROOT no linux, e utilizadores com contas não-admin no Windows. O problema é dos utilizadores não do SO.
     
    Última edição: 21 de Dezembro de 2008
  6. PrOdG

    PrOdG Power Member

    Sim, concordo que é um problema dos utilizadores. Mas agora repara no número de pessoas que usam uma conta de utilizador normal no Windows vs as que usam no Linux. Sim, o problema é dos utilizadores, mas sim, o problema também é da Microsoft que não incute essa preocupação nos utilizadores. Em Linux toda a gente utiliza uma conta com privilégios reduzidos porque em todo o lado está escrito que é incrivelmente estúpido fazer uma utilização do dia a dia com privilégios de root (experimenta correr o Xchat, por exemplo ;)). Em várias distribuições és inclusivamente obrigado a criar uma conta de utilizador. Em lado algum vês a Microsoft a aconselhar-te a criar outra conta (ou pelo menos não nos sítios em que interessa - durante a instalação, por exemplo).

    Não estás a perceber onde eu quero chegar, o problema está mesmo aí: se o utilizador tem permissões para fazer o que quiser, e se o sistema o vai permitir, então para quê perguntar-lhe se tem a certeza do que está a fazer? É chato, inútil, e não aumenta a segurança.

    Faz sentido dar acesso a TODO o sistema de ficheiros e a TODO o registo apenas para instalar uma qualquer aplicação? Para mim não.
    E sim, em Linux precisas de ser root para instalar programas, mas aí é que entra a beleza do seu sistema de segurança (e do sudo, se for bem aplicado e não como está configurado no Ubuntu): é fácil dares acesso root a determinados utilizadores a pequenas partes do sistema sem teres de lhes fornecer acesso total. Podes facilmente permitir que o User A apenas altere a hora, o User B apenas instale programas e o User C apenas altere alguns ficheiros de configuração sem teres de dar a password de root a nenhum deles. E assim sim, faz sentido.

    Está respondido no primeiro parágrafo.
     
  7. AwakE

    AwakE Banido

    Estou a perceber estou. No Vista um gajo faz clique e diz que sim ao popup. No Linux faz Run As root. No fim do dia o efeito é exactamente o mesmo. Também posso dizer que fazer run as root no Linux é chato, inútil e não aumenta a segurança. Se o utilizador com password admin quiser fazer....faz.

    Ao menos o Windows (UAC) é mais esperto, já sabe que aquele utilizador sabe a password, portanto nem a pergunta. Exige no entanto uma acção manual (o clique), tal como no Linux (o Run As). Igual.

    Ficas mais feliz por teres de fazer Run As, e por a password em vez de fazeres clique e só te aparecer um popup para ficar clique? Não percebo porquê. Tu sabes a password, só te dá mais trabalho.

    Quase que jurava que no Windows também dá para fazer o mesmo.
     
    Última edição: 21 de Dezembro de 2008
  8. PrOdG

    PrOdG Power Member

    Estás a comparar duas situações completamente diferentes.
    Linux: estás loggado como utilizador normal, carregas em 'Run as root' (ou outro qualquer procedimento) para escalares privilégios e correres o programa.
    Windows: estás loggado como administrador, corres o programa e aparece-te um popup a dizer "Tem a certeza?".
    Se achas que é a mesma coisa..
     
  9. AwakE

    AwakE Banido

    Sim. Exactamente a mesma coisa, excepto que no Linux dá mais trabalho.

    Sei que conceptualmente é dificil de perceber, mas se te esforçares e mantiveres uma mente aberta vais perceber que é exactamente o mesmo, e que no Linux até é pior já que tens trabalho desnecessário de estar sempre a por uma password que o sistema já devia ter percebido que sabes na 20ª vez que te pede.

    "Tem a certeza? + clique" = "botão direito, run as root, escreve a password, ok". Ficas contente por teres mais trabalho?
     
    Última edição: 21 de Dezembro de 2008
  10. esquiso

    esquiso Power Member

    Situação 1 - Linux: estás logado como utilizador normal, sem privilégios e queres executar algo que precisa de privilégios - é lógico pedir-te autenticação
    Situação 2 - Windows: estás logado como administrador, com privilégios e queres executar algo que precisa de privilégios - não é lá muito lógico pedir-te autenticação

    E quanto ao 'trabalho', é perfeitamente lógico que assim seja. Não faz é sentido estarem a pedir-te autenticação para algo que já és.
     
  11. PrOdG

    PrOdG Power Member

    Sinceramente ultrapassa-me como é que um gajo que até considero inteligente está a teimar neste ponto.

    Situação A:
    1. estou loggado como utilizador
    2. loggo-me como root
    3. executo um programa
    4. o sistema não me chateia
    5. executo mais 20 programas
    6. o sistema continua sem me chatear

    Situação B:
    1. estou loggado como administrador
    2. executo um programa
    3. "Tem a certeza?"
    4. executo outro programa
    5. "Tem a certeza?"

    Se para ti as duas situações são iguais, então duvido que esta conversa chegue a algum lado.
     
  12. AwakE

    AwakE Banido

    - Pensa na conta de administrador do Windows com UAC ligado como uma conta normal em que o sistema sabe que tu tens a password de root.
    - Pensa na conta de administrador do Windows com UAC desligado como uma conta root.

    Já percebes a diferença, e vês a equivalência com o Linux ou ainda não? Agora imagina que ao fazeres Run As no Linux a password já vinha preenchida. Estás a ver para onde isto caminha?

    Posso dizer exactamente o mesmo. Acho que estás demasiado habituado ao conceito de contas separadas para conseguir ver que no fim do dia é tudo igual. E o meu exemplo é com o Run As, obvio que se fizeres logoff e login como root não é igual já que usar o root é igual ao UAC desligado.

    O Linux tem o root e os outros. O Windows com UAC tem um utilizador normal que sabe a password root, e os outros. A razão para o popup existir é que o sistema não consegue distinguir se o escalamento de permissões foi feito pelo utilizador ou por algum programa rogue. O facto de só pedir para confirmar é para facilitar já que ele sabe a password. Ficavam mais felizes se pedisse a password?
     
    Última edição: 21 de Dezembro de 2008
  13. esquiso

    esquiso Power Member

    Vais-me desculpar, mas o conceito ultrapassa-me. É contraditório.

    Besides, enquanto que em Linux tens muitos avisos e entraves à utilização da conta de root como uma conta de dia-a-dia, a conta de dia-a-dia em Windows é a de Administrador. Não é equivalente, lamento.
     
  14. lightMC

    lightMC Power Member

    A conta de administrador do windows com uac é equivalente à da limited user com a diferença de que o uac não pede password. Acaba por ser igual.
    Depois existe a conta de super-administrador (vem desactivada por defeito) que mesmo com o uac ligado, nunca pede elevação de privilégios. o verdadeiro "root". :P
    não tem mais nada que perceber.
     
  15. _freelancer_

    _freelancer_ Power Member

    Na realidade é um pouco relativo. Se tiveres uma conta de Administrador em Windows, com UAC, e se sempre que te for pedida permissão, tu negares, então estás a limitar as execuções a coisas que apenas a conta de utilizador não-Admin conseguiria fazer.

    A bem dizer, os conceitos são um pouco diferentes. Uma conta root em Linux é simplesmente ub3r-1337-g0d, em Windows Vista + UAC já não é bem assim...

    Não quer dizer que seja correcto, mas é o que existe. Penso que algo está a ser/foi feito no Windows 7 quanto a isto, mas não sei em concreto o quê, apenas que segundo parece vão existir menos avisos do UAC.

    E gostei do último exemplo do PrOdG, realmente é melhor só pedir permissão uma vez, mas isto parece-me que acaba por levantar outro problema. Penso que a ideia do UAC era que caso a caso, o utilizador pudesse ser alertado e decidir se determinada aplicação deve ou não possuir direitos de elevação. Parece-me que no Linux, após a primeira introdução da password, o resto passa a "ser mato", é sempre a desbravar. (Já não me recordo, mas julgando pelo exemplo do PrOdG, isto seria verdade...)
     
  16. AwakE

    AwakE Banido

    Porque estás demasiado agarrado aos conceitos, e não fizeste bold a tudo.

    - conta de administrador do Windows com UAC ligado = conta normal em que o sistema sabe que tu tens a password de root.

    Se achares que o administrador do Windows é alguém que pode fazer tudo, óbvio que é contraditório, mas isso é porque o teu conceito está errado.

    Exacto, como já disse o administrador do Windows com UAC é um mero utilizador normal, mas para o qual o escalamento de autorizações é bem mais simplificado e eficiente que o do Linux. Um administrador de Windows com UAC não é root, e o popup = "Run As + password".

    Isto. Já estão a perceber? Resumindo:

    Super-Administrator = root
    Administrator = user normal que sabe a password root
    User normal = ...user normal...
     
    Última edição: 21 de Dezembro de 2008
  17. Nazgulled

    Nazgulled Power Member

    Atenção a uma coisa... o Windows antes do Vista estava habituado a ser admin, com acesso a tudo e mais alguma coisa. Sim, há muitos programadas desenhados a usar privilégios de admin quando não devem, mas é precisamente por culpa da história do Windows. O sistema foi habituado assim, os utilizadores idem e agora é o que se vê... Não se pode esperar que todo o software existes para o Windows (que é bastante) seja compatível com o Vista de um dia para o outro. E o facto de os developers estarem mal habituados, faz com que muito software, ainda hoje, seja mal programado nesse aspecto de acesso privilegiado. É algo que não é culpa do UAC, é sim da Microsoft e da forma como habitou os utilizadores/developers a um sistema muito mal pensado a nível de segurança.

    Não concordo e espero que estejas errado. A mim o UAC não me irrita muito (até porque o tenho no modo "silencioso") mas espero que chegue o dia em que todos os programas sejam executados como utilizador normal e só no caso de certas acções necessitarem acesso privilegiado, é então dado esse acesso. E sinceramente, acho que caminhamos para ai, mas é algo que ainda vai demorar...

    Concordo. Mas acho que isto vai de encontro daquilo que disse... A Microsoft nunca se preocupou muito com isto até ao Vista e agora está a tentar mudar o rumo da maré. E começarem bem pelo o UAC. Está muito mal implementado? Está! Mas antes isso do que nada e continuar tudo na mesma... Agora só têm de melhorar o UAC e já o estão a fazer no Windows 7. Mas sim, concordo que deveria haver um sistema semelhante ao do Linux. Talvez daqui a uns tempos... Não concordo é que o UAC seja completamente inútil, tinham de começar por algum lado, tinham de fazer alguma coisa. Agora é melhorar o conceito que precisa de muito trabalho, mas não é inútil.

    Não, o UAC não é mais esperto... Ele não sabe se o utilizador A ou B sabe a password ou não. O UAC não pergunta pela password se o utilizador for administrador, só nesse caso. Se for utilizador normal, pede sempre a password de um administrador.

    Tanto num caso como no outro, isto pode ser alterado. Estas opções estão escondidas, mas facilmente se pode por o UAC a pedir a password aos administradores.

    Não dá. O sistema UAC apenas permite acesso a tudo ou a nada (referindo-me a coisas que necessitam de acesso privilegiado claro). Não podes escolher como no Linux que dizes que o administrador X tem acesso privilegiado apenas a determinados conjuntos de funcionalidades. Deveria ter, mas não tem.
     
  18. Nazgulled

    Nazgulled Power Member

    Não não é igual. Como disse anteriormente, o UAC não sabe puto sobre se tu sabes a password ou não... Ele apenas assume isso porque tu és administrador. Ora, "se este gajo é administrador então não vou chateá-lo a pedir-lhe a password, vou só pedir confirmação". É isto que acontece e isto não é a mesma coisa do que acontece em Linux porque em Linux tu não és administrador, és um utilizador normal.

    São conceitos diferentes e na minha opinião os dois estão correctos. Porquê? Porque por um lado, no Linux, as contas são todas standard, logo, é lógico que a password seja pedida. Por outro lado, no Vista, existem contas admin, logo tem lógica que apenas uma confirmação seja pedida nestes casos, o que já não acontece se a conta for standard. O que está de errado? Aquilo que já se tem dito, o facto de o Windows não incentivar a não usar contas administrativas.
     
    Última edição: 21 de Dezembro de 2008
  19. AwakE

    AwakE Banido

    Ou seja....sabe.

    Exacto.

    Pois não, não é a mesma coisa. O meu argumento é que ele não te pedir a password é algo bom, que poupa trabalho, enquanto que o pessoal se queixa do popup.

    Concordo

    Aqui é que já não concordo. Porque é que me deve incentivar a usar uma conta não administrativa quando eu sei a password da mesma? Para eu ter de escrever a password n vezes?

    O UAC fez algo que já devia existir há muito tempo, uma conta intermédia (o administrator do Vista) que não é utilizador normal nem root, para o utilizador que até sabe a password de root usar no dia a dia.

    Ás vezes penso que se mudassem a designação do administrador do Vista para Power User resolvia muita da confusão.
     
    Última edição: 21 de Dezembro de 2008
  20. esquiso

    esquiso Power Member

    Mas qual é a utilidade disso? 'Ah, carreguei duplamente neste executável que, misteriosamente, precisa de acesso ao sistema todo.. como não conheço a sua origem, vou negar-lhe a execução'? Mas isso é o que se devia ter pensado ANTES de executar alguma coisa.

    Uma conta de root é uma conta que te dá acesso completo ao sistema.
    Uma conta de administrador em windows não? Então porque se chama 'administrador'? E qual é a diferença para o user normal?

    Queres a aplicação prática? Vamos a isto.

    GNU/Linux: 'utilizador limitado' quer executar um qualquer software -> 'utilizador limitado' não tem permissões o que leva a:
    1) 'utilizador limitado' não sabe a password de root -> software não é executado;
    2) 'utilizador limitado' é o administrador da máquina -> 'utilizador limitado' passa a ser 'root' -> software é executado.

    Windows: administrador quer executar um qualquer software -> administrador tem permissões independentemente do UAC -> salta o UAC a perguntar se é mesmo aquilo que ele quer fazer -> administrador diz que sim -> software é executado.

    Conceitos: 'escalonamento de privilégios' e 'confirmação de execução'.
    Prática: Enquanto num caso, há um incremento de segurança (tens que saber a password [por muito que vos espante, é para isso que ela serve!]), no outro, basta carregar num 'sim'. No primeiro caso há 'escalonamento de privilégios', no outro simplesmente se confima a execução.

    Pergunta que me assola: qual é a diferença, mesmo? O facto de o sistema não saber se eu tenho conhecimento da password? Qual é mesmo a ideia?

    Mas não é esse o conceito de 'Administrador'? Um utilizador que tem controlo total sobre o sistema?

    Incremento de segurança = 0
    Simplificar o escalonamento de privilégios é idiota. Além disso, basta eu desligar o UAC para voltar tudo ao mesmo. E posso continuar a fazer a minha vida normalmente.
     

Partilhar esta Página