Descubra o que os programas fazem no seu PC

por | 5 de fevereiro de 2013

Já ficou em dúvida se um programa que baixou estaria deixando o computador lento, acessando mais arquivos do que deveria ou simplesmente comprometendo a segurança do PC? Sem os meios necessários para descobrir se isso realmente está acontecendo, nos resta apenas acreditar que o antivírus está realmente fazendo o serviço dele e que não há nada para nos preocuparmos.

E o que você diria se soubesse que existe uma ferramenta prática para monitorar o que os programas fazem seu PC? Com o Process Monitor, da própria Microsoft, é possível registrar todos os arquivos acessados, os registros lidos ou alterados e todas as comunicações de rede feitas pelos programas em execução, bem como por um deles em especifico.

Monitorando todas as atividades do navegador Google Chrome

Pode parecer meio vago e complexo analisar os dados com uma ferramenta destas, mas é possível pensar em um exemplo bem simples de sua utilidade. Imagine, por exemplo, que você tenha um jogo que está deixando o computador lento, mesmo não possuindo gráficos de última geração. A partir da desconfiança você descobre, através do Process Monitor, que o jogo está acessando a Internet apesar de não utilizá-la “oficialmente”. Seria algo bem suspeito, digno de um programa infectado.

Situações de exemplo

Dentre as milhares de situações em que o Process Monitor poderá ajudá-lo estão:

  • quando você baixa um novo programa e desconfia que ele esteja realizando ações perigosas;
  • a luz de acesso ao disco rígido do PC não para de piscar, aparentemente não tem nenhum programa aberto para fazer este acesso;
  • a conexão ficou lenta demais após iniciar um programa ou jogo, que não deveria utilizá-la;
  • estão aparecendo arquivos estranhos em seu HD, mas você ainda não identificou o programa que está fazendo isso.

Menu da ferramenta

  1. Abrir um conjunto de informações salvas;
  2. Salvar o conjunto de informações;
  3. Pausar ou iniciar um monitoramento;
  4. Rolar automaticamente a tela, conforme surgem novas capturas;
  5. Limpar registros de monitoramento;
  6. Acessar a configuração avançada de filtros;
  7. Destacar o processo selecionado ao longo da lista de monitoramento;
  8. Selecionar a janela de um programa especifico para capturar os dados somente dele. Basta clicar neste atalho e arrastá-lo até a janela do programa;
  9. Visualiza a árvore completa de processos em execução, um jeito mais simples de selecionar os programas para monitorar;
  10. Buscar uma palavra nos registros – boa opção para quando já se sabe o nome do programa ou o tipo de evento que deseja monitorar.
  11. Abre o local do arquivo mencionado no registro, em caso de uma leitura ou gravação detectada;
  12. Mostrar/Ocultar atividades de registro – filtra ou exibe os acessos feitos ao registro do Windows;
  13. Mostrar/Ocultar atividades do sistema de arquivos – filtra ou exibe leituras e gravações feitas em arquivos;
  14. Mostrar/Ocultar atividades de rede – filtra ou exibe a comunicação de rede feita pelos programas monitorados. Ótimo para descobrir quem está acessando a Internet;
  15. Mostrar/Ocultar atividades de processo (Thread) – filtra ou exibe a abertura de novos processos e a mudança de estados dos já existentes;
  16. Mostrar/Ocultar consumo de processo – filtra ou exibe a quantidade de memória e processamento dos processos. Obs: precisa clicar com o botão direito, depois em “Properties” sobre os registros para ver os detalhes.

Filtros

Quando iniciado, o Process Monitor registra todos os tipos de eventos sobre todos os programas em execução no PC. Desta forma, é preciso aplicar alguns filtros para encontrar aquilo que realmente interessa para nós, já que normalmente tentamos descobrir algo referente a um programa ou processo especifico; a menos que não saiba ainda ao certo qual o programa que possa estar prejudicando o PC, por exemplo.

Dica: para evitar que o programa registre milhões de eventos, e dificulte o seu trabalho, é recomendado habilitar a captura e depois pausá-la após um curto período de tempo (botão 3). Isso, reduzirá drasticamente a necessidade de aplicar dezenas de filtros no programa.

Filtrar por tipos de eventos

Antes de prosseguir, é preciso definir o que eventos para o programa nada mais são do que os termos discutidos do item 12 ao 16 do tópico anterior. Assim, eventos são as ações realizadas pelo programa no sistema operacional; como manipular registro, arquivos ou gerar novos processos.

Para exibir ou filtrar um tipo de evento, basta pressionar os botões 12 ao 16 da ferramenta, desta forma para capturar apenas a manipulação de arquivos; bastaria apenas demarcar todos os outros tipos, conforme imagem abaixo. Fácil não é?

Filtragem por programas (processos)

Existem 2 formas de filtrar a lista de monitoramento por programas: escrevendo o nome do programa no recurso de busca (botão 10) ou então clicando sobre um elemento monitorado.  Ao clicar sobre um item da lista de monitoramento, é exibido um menu flutuante que traz duas funções extremamente interessantes:

  • Include ‘nome_do_processo’ – com esta opção você remove todos os outros processos da lista, deixando apenas o selecionado;
  • Exclude ‘nome_do_processo’ – esta funciona de forma contrária, removendo apenas o processo selecionado e deixando todos os outros na lista. Esta é recomendada para limpar gradualmente os programas da lista, a medida que os descarta da “investigação”.

No exemplo abaixo, filtramos a exibição de eventos para exibir apenas os do navegador Chrome:

Filtro avançado

Este tipo de filtro, acionado pelo botão 6, permite ao usuário restringir a exibição dos registros de monitoramento a partir de qualquer parte dele; permitindo usar ainda expressões como “começando com”, “terminando em”, “menos que”, “mais do que”, “possui”, “não possui” e fornecendo textos personalizados.

Para exemplificar este recurso, vamos selecionar apenas o monitoramento do tráfego de rede (tipos de eventos) e escolher apenas os que contenham o endereço de IP 192.168.0.6, no caso uma máquina da rede local. Lembrando que isto pode ser feito para qualquer texto de qualquer campo.

1. Depois de filtrar o monitoramento apenas por elementos de rede, observamos que a informação de que precisamos se encontra no campo “Path”.

2. Agora clicamos no botão 6 para exibir a configuração de filtros avançados.

3. No exemplo, o preenchimento do filtro ficaria como a imagem abaixo:

  • Primeira caixa – campo em que a informação é exibida no relatório. Em nosso caso é “Path”.
  • Segunda caixa – representa as condições para o filtro, que pode conter os termos “is” (é exatamente), not is (não é exatamente), less than (menor que), more than (maior que), begins with (começa com), ends with (termina com), contain (possui em qualquer ponto do conteúdo), excludes (não possui em qualquer ponto do conteúdo). Em nosso caso, é interessante usar a opção contain, pois vai selecionar campos “Path” que tenham o IP em qualquer parte.
  • Caixa de texto – usada para escrever o termo que deseja obter ou excluir de seus filtros.
  • Terceira caixa de seleção – nela você define se o parâmetro de busca, quando verdadeiro, inclui (Include) ou exclui (Exclude) um item no relatório. Neste caso, usamos o Include para exibir apenas os termos definidos neste filtro.

4. Por fim, basta clicar em “Add” para inserir o novo filtro e depois clicar em “Ok” ou “Apply” para aplicá-lo. O resultado no exemplo seria a exibição apenas dos registros que indiquem a comunicação com o endereço determinado, como na imagem abaixo.

Limpar os filtros

Caso queira remover todos os filtros e iniciar novamente a sua análise, sem ter que capturar novos dados; basta seguir até menu principal da ferramenta, clicar em “Filter” e selecionar a opção “Reset Filter”. Outra forma de fazer isso é através do atalho do teclado CTRL + R.

Encontrando os detalhes

Depois de encontrar o registro que interessa a sua busca, basta clicar com o botão direito sobre ele na listagem e, em seguida, na opção “Properties“. Com isso, será exibida uma nova janela com abas para mostrar dados do evento (Event), módulos relacionados ao processo (Process) e a pilha de componentes do sistema (Stack) usados por ele.

Confira um exemplo das informações exibidas na aba Process:

Salvar e carregar dados

Depois de encontrar os filtros perfeitos para as nossas necessidades, é claro que não queremos perdê-los toda vez que fechamos o programa. Para evitar este problema, salvando as configurações, siga até o menu “File” e indique a opção “Export Configuration”; indique então um nome para a configuração armazenada.

Para carregar as configurações e filtros, basta seguir até o menu “File” indicar “Import Configuration” e depois selecionar o arquivo. Em instantes todos os filtros e configurações da sessão gravada estarão novamente no Process Monitor.

Caso você deseje salvar os dados obtidos durante o monitoramento, então é preciso usar o segundo botão do menu principal da ferramenta (ou CTRL + S). Feito isto, é possível escolher se deseja salvar as informações com os filtros já aplicados ou todas as coletadas e também o formato em que deseja armazenar os dados; os formatos disponíveis são PML (da própria ferramenta), CSV e XML

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *