Você está na página 1de 12

CURSO DE FUNDAMENTOS DE CIBERSEGURANÇA

Módulo 4 – Ciberhigiene

Unidade didática 1 – Segurança e Hardening em Sistemas Windows

Hardening do Sistema Operativo

Para nos protegermos de todas as ameaças que vimos até agora, é fundamental
termos o cuidado de proteger o nosso PC. Há uma série de técnicas pelas quais
podemos mitigar as várias ameaças e vulnerabilidades na perspetiva do sistema
operativo (SO). Atualmente, o Windows 10 fornece um conjunto de medidas
intrínsecas ao sistema e que já referi nos slides enviados anteriormente.
É também possível adicionar ferramentas e aplicações ao nosso SO. As
ferramentas anti-malware/antivírus são um exemplo disso, protegem-nos da
grande variedade de códigos maliciosos aos quais o nosso sistema pode estar
exposto. Também as firewalls de software como a do Windows ou outras (e.g.,
ver tinywall), podem ser executadas numa máquina, a fim de bloquear e para
nos alertar quando o tráfego indesejável da rede está a chegar, ou a originar nos
nossos sistemas. Estas firewalls, permitem inclusivamente criar whitelists (lista
de itens autorizados) de software autorizado a comunicar para o exterior (evita
por exemplo um malware de um anexo de email conseguir comunicar para o
atacante).
Ao conceito de tornar o PC a sua configuração mais segura, designa-se
“hardening do sistema operativo”. Um dos principais objetivos do hardening do
SO é reduzir o número de possibilidades (e.g., portas abertas, vulnerabilidades,
etc.) através das quais o nosso SO pode ser atacado. O total destas
possibilidades é referido como a superfície de ataque. Cada área em que
estamos potencialmente inseguros (e.g., uma aplicação vulnerável) acrescenta
à nossa superfície de ataque, e cada área em que aplicamos medidas de
segurança diminui essa superfície.

|Luís Dias| 1/x


O hardening do SO, engloba pelo menos estas medidas:
1. Remoção de software desnecessário
2. Remoção ou desativar serviços não essenciais
3. Alterações das configurações de contas comuns
4. Aplicar o princípio do privilégio mínimo (limitar permissão de
Administração)
5. Aplicação de atualizações de software regulares
6. Fazer uso das funções de registo e auditoria

Atenção: antes de continuarmos, alerto para o facto de devermos ter sempre


muito cuidado ao fazer alterações no SO, nas configurações, ferramentas e
software. Algumas das mudanças podem ter efeitos não intencionais e caso a
caso devemos estudar a alteração que pretendemos fazer. Fazer uma pesquisa
acerca de determinada alteração que queiramos realizar antes de a fazer é
sempre uma boa ideia!

1. Remoção do software desnecessário:


Cada programa instalado no nosso sistema operativo acrescenta à nossa
superfície de ataque. Muitas vezes instalamos software apenas para uma
determinada ocasião (e.g., Adobe Flash Player ou Java, quando acedemos a
uma página que necessita destes) e depois esquecemo-nos desse software e de
o remover ou atualizar. Por outro lado, o Windows 10 ou 11, dependendo do
fabricante do computador, é pré-configurado com diversas aplicações (i.e.,
Bloatware) não necessárias.
Para remover software não utilizado no Windows 10, basta aceder ao menu
iniciar do Windows (canto inferior esquerdo) e escrever “programas”, aparecendo
de imediato a opção “Adicionar ou remover Programas”.

|Luís Dias| 1/x


O Windows 10, deve ser configurado para alertar, sempre que haja uma
aplicação a ser instalada e que não exista na Microsoft Store. Não quer dizer que
não o possamos fazer, mas seremos alertados e é uma proteção adicional:

Na seta de baixo na figura acima, pode agora verificar a lista de aplicações


instaladas e todas as que não considerar necessárias deve desinstalar. Por
norma, se não conhecer a aplicação ou se não souber se é necessária, é porque
não deverá ser necessária. Contudo, faça uma rápida pesquisa sobre a mesma
na internet e deverá obter a resposta.

2. Remoção ou desativação de serviços não essenciais


Na mesma linha da remoção de software desnecessário, devemos também
remover ou desativar serviços não essenciais. Muitos SO são pré-configurados
com uma grande variedade de serviços ligados a fim de compartilhar
informações através da rede, localizar outros dispositivos, sincronizar a hora,
permitir o acesso e transferência de arquivos, e outras tarefas. Também
podemos descobrir que os serviços foram instalados por aplicações, para
fornecer as ferramentas e recursos sobre os quais essas dependem para poder
funcionar.
Encontrar e desativar serviços não necessários, pode ser um exercício de
experimentação, e é considerada uma tarefa para utilizadores mais experientes.
Em muitos casos, tais serviços não são nomeados de uma forma que indiquem
a sua função real, e rastrear o que cada um deles faz pode requer pesquisa.
Uma das melhores coisas a fazer para localizar alguns desses serviços
desnecessários e tipicamente os mais importantes, é determinar as portas de
rede em que o sistema está a aguardar conexões de rede. A cada porta, está
associado um serviço que pode ou não ser necessário. Existem ferramentas para
Windows que nos podem auxiliar neste processo.

|Luís Dias| 1/x


Ferramentas de apoio à resolução do ponto 1 e ponto 2:
Aqui apresento-vos uma suite de ferramentas denominada Windows
Sysinternals (ver link - tem a validação da própria Microsoft). Toda a suite de
ferramentas está disponível aqui num ficheiro que devem descompactar após
download. O Sysinternals começou por ser um site criado em 1996 por Mark
Russinovich para hospedar utilitários de sistema e informações técnicas. Hoje é
uma suite de ferramentas especialmente destinadas a administradores de rede
ou programadores. Contudo, algumas das ferramentas podem ser bastante úteis
ao utilizador comum mais atento. Uma delas é o Autoruns. Para correto
funcionamento das aplicações do Sysinternals, devem ser executadas com
permissões de administrador (e.g., botão direito do rato no ficheiro e “executar
como administrador”):
Apresento-vos a ferramenta Autoruns (ver link), dentro do Sysinternals, que
podem executar e testar:

Esta ferramenta, permite ver todos os processos em execução no arranque do


computador, processos iniciados automaticamente noutras situações (e.g.,
abertura do explorador do windows), processos agendados, permite ver os
serviços ativos no sistema, entre outros. É de salientar que o Autoruns permite
enviar para o Vírustotal (análise por diversos Antivírus online), qualquer
ficheiro que o utilizador queira analisar ou tenha suspeitas. Você pode ocultar
entradas assinadas pela Microsoft para eliminar os itens “bons” da lista. Assim
como pode enviar para scan no Vírustotal todas as entradas de uma das listas
(ver opções das 2 imagens seguintes):

|Luís Dias| 1/x


Saliento que entre as formas de um atacante garantir a persistência do
malware, uma possibilidade é o agendamento de tarefa para execução do
mesmo, ou a execução aquando o arranque do PC. É importante validarmos
a execução automática de qualquer processo desconhecido (pesquisando na
internet ou verificando no Virustotal por exemplo).

Outra ferramenta bastante útil para ver processos em execução, é o Process


Explorer (ver link):

Esta ferramenta, é um poderoso substituto do TaskManager (Gestor de Tarefas)


do Windows (pesquisar por Gestor de Tarefas no menu iniciar do Windows para
verem o que é).
Para além de permitir identificar processos suspeitos em execução e enviá-los
para o Vírustotal, o Process Explorer permite ainda resolver situações como
quando tentamos abrir um ficheiro e recebemos uma notificação de que ele já
|Luís Dias| 1/x
está aberto... neste caso o Process Explorer pode ajudar a determinar qual o
processo ou aplicação que tem esse ficheiro aberto, e forçar a sua paragem.
Para verificarem as conexões de rede dos processos em execução,
eventualmente com o objetivo de analisar mais a fundo o comportamento de
algum processo específico, a ferramenta TCPview (ver link) é uma boa solução
para um despiste inicial.

Para simplificar a visualização podem ver apenas os processos com ligações


ativas conforme opção da imagem acima.

3. Alterações das configurações de contas comuns


Uma vulnerabilidade comum em muitos SO (inclusive de IoT), é o uso de contas
conhecidas padrão (default accounts) sem alteração das passwords. Em muitos
sistemas operativos, podemos encontrar o equivalente a uma conta de
convidado (e.g., guest) e uma conta de administrador (e.g., Admin). Por exemplo,
através de bases de dados de contas comuns (e.g., veja link2 ou link2), é
possível rapidamente testar acessos com essas contas nos diversos
equipamentos.
Se permitirmos que tais contas permaneçam no sistema com as configurações
padrão, podemos assumir que deixámos as “portas de casa” abertas para que
os atacantes possam simplesmente entrar e... sentirem-se em casa.
Então, devemos primeiro decidir se as contas são necessárias, e desativar ou
remover as que não vamos usar. No caso de contas guest, de suporte ou
semelhantes, podemos muitas vezes rápida e facilmente remover essas contas
sem causar problemas. No caso das contas de Administrador, muitas vezes com
nomes como administrador, administrator ou root, podemos não ser capazes de
removê-las do sistema, ou o SO impedir-nos de o fazer. Na maioria dos casos,

|Luís Dias| 1/x


no entanto, essas contas podem ser renomeadas a fim de confundir atacantes
que possam tentar fazer uso das mesmas. Por último, nunca esquecer: nunca
deixar nenhuma conta com uma senha padrão, não importa os privilégios
da mesma.

4. Aplicar o princípio do privilégio mínimo (limitar permissão de


Administração)
O princípio do privilégio mínimo dita que devemos atribuir apenas a permissão
mínima absoluta necessária para que uma tarefa seja executada. Por exemplo,
podemos agrupar as tarefas típicas de um utilizador comum separadamente das
tarefas típicas de um administrador de rede.
Os utilizadores comuns geralmente não executam tarefas como modificar a
forma como o hardware funciona, fazer alterações nos ficheiros dos quais
depende o próprio sistema operativo, instalar software que pode mudar ou afetar
todo o sistema, e assim por diante. Tais atividades são geralmente executadas
apenas pelos aos administradores do sistema. Num computador pessoal, muitas
vezes estes dois papéis (utilizador comum e administrador) são assumidos pela
mesma pessoa. Assim, recomenda-se que neste caso, essa pessoa tenha
duas contas com permissões diferentes, e aceda usando a respetiva conta
consoante o papel que desempenha em cada momento. Existe uma forma
muito prática de fazer isto no Windows conforme veremos mais à frente.
Importa salientar, que na maioria dos sistemas operacionais UNIX e Linux, esta
separação entre utilizador comum e administrador é estritamente aplicada por
defeito. Exemplo disso é necessitarmos de elevar privilégios para “root” apenas
quando precisamos e não por defeito. Por outro lado, nos sistemas Microsoft o
“mindset” permite uma conta de utilizador comum, configurada num sistema
novo, ter privilégios de administração. A Microsoft tentou (desde o Windows
Vista) mudar o “mindset”, com a tecnologia de controlo de acessos de utilizador
(UAC), que emite alertas para validação, mesmo enquanto administradores.
Contudo, o UAC não garante a mesma proteção e garantias, que um utilizador
sem permissões de administração.
Sem privilégios de administração, em muitos casos, os ataques falharão
por completo. Esta é uma medida de segurança “muito barata e fácil”,
podemos e devemos pôr em prática aumentando substancialmente a
segurança do nosso sistema.

|Luís Dias| 1/x


5. Aplicação de atualizações de software regulares
As atualizações regulares e oportunas dos nossos sistemas operativos e
aplicações são críticas para manter uma segurança forte. Os novos ataques
aparecem regularmente e se não aplicarmos os patches de segurança
fornecidos pelos fabricantes de software e hardware, provavelmente seremos
vulneráveis a um grande número de ataques.
Num ambiente organizacional, embora seja prudente planear as atualizações de
software e testá-las completamente antes de o fazer, é geralmente insensato
atrasar este processo por muito tempo. Do ponto de vista de um PC pessoal, o
risco de algo correr mal é diminuto, mas quando tal acontece, o processo de
update é muitas vezes facilmente reversível.

6. Fazer uso das funções de registo e auditoria


No geral queremos ter possibilidade de manter um registo (i.e., logs) preciso e
completo dos acontecimentos importantes para a segurança que ocorrem no
nosso PC. Alguns desses eventos significativos, tais como a utilização de
privilégios administrador, utilizadores a entrar e sair do sistema (login e logoff),
autenticações falhadas, alterações feitas no sistema operativo, e uma série de
atividades de similar importância.
No âmbito de uma organização, os registos devem ser coletados e centralizados
num sistema de gestão de eventos de segurança. No âmbito particular, o
utilizador pode ver os registos dos eventos que ocorrem no sistema através de
ferramentas intrincas ao sistema (e.g., visualizador de eventos do Windows, ver
link1 ou link2).

Relativamente ao Windows 10, existem algumas coisas que devemos garantir,


como já referido nos slides fornecidos anteriormente. Exemplifico algumas das
configurações, sendo que outras referidas nos slides, também devem ser
realizadas de modo semelhante:
• Desabilitar login automático

Quando configuramos um novo PC com Windows pela primeira vez, criamos


uma conta de utilizador. Por padrão, a sua nova conta é configurada para
entrar automaticamente.
Para garantir que a password é solicitada a todos os utilizadores, pode
fazê-lo:

|Luís Dias| 1/x


• Configurar o PIN ou impressão digital.
O PIN e a impressão digital (para que tem PC que suporta), são opções
mais eficazes do que as passwords (mais info em link)

|Luís Dias| 1/x


• Bloquear o ecrã

Esta configuração evita que alguém aceda ao seu PC quando se ausenta


(e.g., vai tomar café). Sempre que se ausentar não se esqueça de
bloquear o PC (basta fazer Ctrl-Alt-Del e selecionar “bloquear”).

• Ativar o controlo de acessos

O Windows 10 permite configurar alertas que carecem de interação do


utilizador, sempre que há uma tentativa de alteração ao sistema ou de
instalação de software (User Access Control - UAC). As notificações devem-
se muitas vezes às nossas ações e são legitimas. Contudo, por vezes
podemos não ter intenção de instalar qualquer software e somos induzidos a
tal, nestas alturas o UAC é uma preciosa ajuda.
Para configurar basta pesquisar por UAC no menu iniciar:

|Luís Dias| 1/x


• Aplicar o princípio do privilégio mínimo (limitar permissão de
Administração)

É muito importante que a conta com que trabalha diariamente não tenha
permissões de administrador. Isto pode evitar muitas tentativas de ataque.
Por exemplo, deve configurar uma contar de administrador e uma conta para
uso normal. Para gerir contas deve aceder ao painel de controlo:

O estado final, num PC com apenas um utilizador, deve ter duas contas
conforme imagem acima. Uma conta para uso diário e outra para administração.
A usabilidade e funcionalidade não são um problema. Saliento que, mesmo
quando está a utilizar a conta de uso normal, sem permissões de administração,
é possível instalar programas e realizar outras ações, sem mudar de sessão.
Para isso, é necessário executar as aplicações ou ficheiros de instalação, com
|Luís Dias| 1/x
permissões de administrador (aí é-lhe solicitada a conta de administração). Para
se autenticar como administrador nesse momento, pode usar a password que
definiu, mas pode e deve configurar e usar o pin ou impressão digital que são
mais seguros e práticos (a impressão digital tem que ser diferente da conta de
utilizador normal, e.g., outro dedo).
Exemplo da execução da linha de comandos do Windows com permissões de
administrador (carregar com botão direito por cima da aplicação):

Nota: Como referência para implementação de medidas de hardening de


sistemas operativos, existe uma referência (ver link) muito completa. Contudo,
no caso dos sistemas Windows, destina-se mais a ambientes organizacionais
(e.g., redes de domínio Windows).

|Luís Dias| 1/x

Você também pode gostar