O estrago feito na segurança do Windows antes do Vista

Uma característica dos fóruns sempre me irritou: a quantidade absurda de tópicos sobre "remoção de malware". Os que contêm aquelas sequências intermináveis e maravilhosas de logs, no mais evidente clima de help desk. Assunto enfadonho. Enxugação de gelo sem fim.

A culpa pela situação atual do ecosistema Win32 é em grande parte da Microsoft, que demorou demais a começar a colocar limites nas contas de usuário criadas seguindo uma instalação normal. Até o Windows XP, jogavam no colo de todos uma conta administrativa sem restrições! O estrago na segurança foi brutal, além de acostumar mal os usuários. O bem-vindo UAC do Vista, não por outra razão, foi torpedeado.

O Windows NT (cuja primeira versão, 3.1, é de 1993) é multiusuário desde sua concepção. Naqueles tempos, quando ainda era possível usar FAT no volume de boot, porém, o sistema de permissões só funcionava eficazmente com NTFS e as ACLs precisavam ser configuradas manualmente. Eram permissivas, Todos possuíam controle total, por exemplo, em "Arquivos de programas" e "WINNT". Uma política padrão de ACLs restritivas, com suporte à propagação via herança, nos moldes do que é usado hoje, foi implementada no Windows 2000.

Básico do básico!

Por ter sido o primeiro superconjunto da plataforma Windows, foi um crime NTFS não ter sido mandatório no 2000, o que apenas veio a ser feito em 2007 com o Vista. Limitação que existia no NT 4.0 do volume de boot ser formatado em FAT e depois convertido para NTFS foi superada. Assim, unindo NTFS, conta limitada por padrão e as novas ACLs restritivas, daria um sistema bem mais seguro. Visto que estamos fazendo um exercício de futurologia retrógrada (estou programando o DeLorean aqui), teria sido necessário adaptar também a GUI a fim de facilitar a administração para usuários limitados. Itens do "Painel de Controle" teriam que poder ser, graficamente, invocados usando outro usuário. Alguma infraestrutura já existia no 2000 com o "Serviço RunAs" (renomeado para "Logon secundário" em versões posteriores), que permitia um usuário rodar programas como outro sem precisar fazer logoff. Imagine um precursor do UAC.

Haveria quebradeira. Ganho, por outro lado, teria sido enorme, pois ajudaria a limpar o ecosistema Win32. Inexpugnável o Windows não tornaria-se da noite para o dia. Começaria, entretanto, a ser criada uma cultura saudável, acabando com a prática nefasta, quase norma, naquela época, dos aplicativos assumirem que rodariam como administrador. Logar com usuário administrador deveria ter sido dificultado ao máximo e marcas d'água com caveiras e bombas explodindo exibidas continuamente. Ocorreu o inverso ao nada fazerem: todo mundo ficou mal habituado, desenvolvedores e usuários. Um usuário limitado só pode demolir seu próprio perfil, não o sistema e programas nem outros perfis — desconsiderando falhas que permitam escalação de privilégio. É simples. A separação clara, inequívoca, presente nos Unix-like entre o que pertence ao sistema operacional e o que é do usuário. Desde 1993 o Windows NT tem o mesmo! Nele, a linha divisória, todavia, é tênue por causa das desastrosas decisões. Num Unix-like, caso um aplicativo, após instalado, queira escrever dados fora da pasta /home, trata-se simplesmente de bug que precisa ser consertado. No Windows, ahh... desative o UAC, habilite modo de compatibilidade, rode-o como administrador e coisas do tipo. Nããão!

Foi o lado negro da compatibilidade a qualquer custo. Para melhor absorver os aplicativos dos Windows 9x, jogaram vários anos do correto design do NT no lixo. O resultado está aí até hoje. A Microsoft pode alegar que, no setor corporativo, antes do XP, quando o foco dos NT não eram usuários domésticos, esperava-se que administradores competentes tomassem medidas adequadas. Dá para engolir, afinal os 9x eram montes de estrume. Mas e o XP? O XP foi o primeiro NT oficialmente doméstico. Nem depois de Bill Gates lançar a iniciativa "Trustworthy Computing", anos antes do Service Pack 2, cujo lema foi deixá-lo menos inseguro, algo foi feito nesse sentido.

A esperança, em tempos de Windows 10, é que aplicativos Modern/Universais emplaquem, porque rodam em sandboxes e não podem destruir o sistema nem o perfil. Com o Windows Phone (oops, agora é Mobile de novo) indo de mal a pior e a falta de adesão dos desenvolvedores no front dos desktops, é meio difícil acreditar por enquanto.

Comentários