Partilhar via


[Arquivo de boletins informativos ^] <[ Volume 6, Número 2] [Volume 7, Anúncio Especial >]

O Boletim Informativo Interno dos Sistemas Volume 7, Número 1

http://www.sysinternals.com
Direitos de autor (C) 2005 Mark Russinovich


5 de janeiro de 2005 - Nesta edição:

  1. EDITORIAL

    • Tem DEP?
  2. WINDOWS INTERNALS, 4ª EDIÇÃO

  3. O QUE HÁ DE NOVO NA SYSINTERNALS

    • Estatísticas de novembro
    • Artigos da Revista Sysinternals
    • Sysinternals RSS Feed
    • Mark é um MVP da Microsoft
    • Autoruns v6.01
    • Explorador de Processos v8.61
    • Sigcheck v1.0
    • Bginfo v4,07
    • Regjump v1.0
    • Hex2dec v1.0
    • Tcpvcon v2,34
    • Atualizações do PsTools
    • Sysinternals na empresa Microsoft
  4. INFORMAÇÃO INTERNA

    • Navegação na Internet
    • Usando o LiveKd para solucionar problemas de sistemas doentes
    • CreekSide?
    • ChkReg Fixador de Registro
    • Diagnóstico de memória do Windows
    • Pesquisa de interfaces não documentadas
  5. FORMAÇÃO INTERNA

    • Conexões do Windows em São Francisco
    • Aulas práticas do Windows Internals/Sysinternals por Mark Russinovich & David Solomon

A Newsletter da Sysinternals é patrocinada pela Winternals Software, na Web em http://www.winternals.com. Winternals Software é o principal desenvolvedor e fornecedor de ferramentas de sistemas avançados para Windows NT/2000/XP/2003.

A Winternals tem o prazer de anunciar o próximo lançamento do Administrator's Pak 5.0 com uma atualização abrangente, incluindo o ERD Commander 2005.

Os novos recursos do ERD Commander 2005 incluem:

  • Crash Analyzer: Diagnostique rápida e facilmente o driver responsável por uma falha do Windows - mesmo que o sistema não inicialize
  • DiskWipe - Apagar com segurança discos rígidos ou volumes; Autoruns: Veja quais aplicativos estão iniciando na instalação do Windows e no logon do usuário - útil para diagnosticar problemas de recursos do sistema e encontrar malware em potencial
  • FireFox Web Browser: baixar hotfixes, atualizações de driver, procurar ajuda na Base de dados de Conhecimento da Microsoft - tudo no sistema que você está tentando reparar
  • Assistente de desinstalação de hotfix, que permite remover hotfixes e service packs em um sistema não inicializável
  • Reparo de arquivos do sistema, que verifica a integridade dos arquivos de sistema do Windows.

Esses recursos, várias melhorias e melhorias de usabilidade para o ERD Commander 2005 e um novo cliente de recuperação remota mais fácil de criar e usar baseado no Windows PE estão incluídos no novo Pacote do administrador 5.0, disponível no final de janeiro de 2005. Para se inscrever para uma avaliação do Pacote do Administrador 5.0 quando ele for lançado, visite http://www.winternals.com/ap5preview/.

EDITORIAL

Olá a todos,

Bem-vindo à newsletter da Sysinternals. A newsletter conta atualmente com 40.000 assinantes.

A crescente onda de malware, incluindo spyware e vírus, preocupa todos com a segurança. Boas medidas de segurança incluem manter-se atualizado com o sistema operacional e patches de aplicativos, instalar e configurar firewall, antivírus e ferramentas de remoção de spyware e exercer julgamento ao fazer o download da Internet ou abrir anexos de e-mail. Apesar das medidas minuciosas, no entanto, o malware ainda pode encontrar maneiras de se esgueirar por defesas e infetar um computador. A lacuna mais comum nas defesas de um sistema é a vulnerabilidade de estouro de buffer, e é por isso que você deve estar familiarizado com o recurso DEP (Prevenção de Execução de Dados) do Windows XP Service Pack 2.

Um estouro de buffer é um erro de programação que programas mal-intencionados podem aproveitar para assumir o controle do thread que executa o erro de codificação. Os estouros de buffer geralmente são baseados em pilha, o que significa que um invasor fornece ao programa mais dados do que caberão em um buffer armazenado na pilha. Os dados são criados de tal forma que, quando a função com o estouro tenta retornar à função da qual foi invocada, ela retorna a um local nos dados.

Infelizmente, erros de estouro de buffer podem afetar até mesmo o software mais testado e revisado. Vários estouros de buffer são anunciados para o Windows e seu software componente mensalmente (Linux e seus aplicativos não são imunes, com um número de estouro de buffer no mesmo nível do Windows). Um tema comum para a maioria das explorações de estouro de buffer é que elas resultam na execução de código colocado em regiões de memória que devem conter apenas dados.

Embora o processador Intel Itanium tenha suportado proteção sem execução desde o seu lançamento, não foi até o Windows XP SP2 (e o próximo Windows Server 2003 SP1) que o Windows realmente faz uso desse suporte de hardware, por exemplo, marcando pilhas de threads e memória de pilha como não executáveis. Outros processadores que suportam proteção de hardware sem execução incluem o AMD64 Opteron e Athlon 64 de 64 bits e o clone da Intel chamado EM64T, agora disponível nos processadores Xeon e Pentium 4. A AMD e a Intel introduziram recentemente processadores de 32 bits sem suporte de execução: o AMD Sempron e a família Pentium 4 "J" (como o 520J, 540J, etc).

Pode parecer óbvio para você que o Windows deve, por padrão, impor proteção sem execução para pilhas e memória de heap de aplicativos para evitar explorações de estouro de buffer, mas há centenas de milhares de aplicativos existentes, alguns dos quais podem realmente depender da configuração não ser imposta para a operação correta. Portanto, o Windows XP SP2, a primeira versão do Windows que impõe proteção sem execução, dá ao administrador controle sobre quais processos são protegidos e quais não. Primeiro, em uma decisão destinada a melhorar a segurança no futuro, a versão de 64 bits do Windows sempre impõe sinalizadores de não execução para todos os processos de 64 bits. Se um fornecedor de software quiser lançar um aplicativo de 64 bits, ele precisa se certificar de que não executa código de regiões não executáveis da memória (eles podem marcar uma região de dados como executável se gerarem código on-the-fly, como os aplicativos Java e .NET geralmente fazem).

Em segundo lugar, como as explorações de estouro de buffer são mais comumente destinadas a componentes do sistema operacional, o Windows XP e o Windows Server 2003 de 32 bits protegem, por padrão, as principais imagens do sistema operacional. No entanto, para aplicativos de 32 bits (executados no Windows de 32 bits ou no Windows de 64 bits), o Windows XP assume como padrão uma estratégia de "aceitação" (os aplicativos não são protegidos por padrão), enquanto o Windows Server 2003 assume como padrão "desativação" (os aplicativos são protegidos por padrão, mas aplicativos específicos podem ser excluídos). Isso faz sentido porque a segurança normalmente é de maior prioridade em sistemas de servidor. Você pode alterar as configurações de aceitação ou exclusão na caixa de diálogo de configuração DEP que você acessa por meio do botão Configurações na seção Desempenho da página Avançado do miniaplicativo do painel de controle do sistema.

Como mencionei anteriormente, com exceção dos relativamente novos processadores AMD Sempron e Pentium 4 "J", todos os chips compatíveis com x86 lançados até o momento não têm suporte a nenhuma execução. No entanto, o Windows XP e o Windows Server 2003 implementam uma forma limitada de DEP nesses processadores chamada "DEP de software". Como o sistema operacional ganha o controle de um thread quando o thread gera uma falha, ele pode garantir que o manipulador de falhas que executará seja registrado estaticamente pelo código do programa. Isso impede uma exploração que redireciona o manipulador de falhas de um thread para executar código mal-intencionado em um buffer de pilha estourado, que é o que o vírus CodeRed fez com que o IIS fizesse quando foi lançado em 2001.

Apesar de sua relativa simplicidade, o DEP é uma das defesas mais fortes que o sistema operacional oferece em seu escudo contra malware de autopropagação. Infelizmente, três coisas limitam seu poder: a falta de suporte de hardware na maioria dos processadores implantados atualmente para a configuração de não execução, a configuração de aceitação padrão no Windows XP de modo que apenas os principais processos do sistema operacional sejam protegidos e a falta de consciência. A DEP de software é limitada em seu escopo e, portanto, a DEP é apenas marginalmente eficaz, a menos que você esteja executando o Windows em hardware que suporte no-execute. O fato de que o Windows XP usa como padrão a opção de inclusão significa que, mesmo quando os usuários executam o Windows em hardware sem execução, os únicos processos que recebem proteção DEP são os do sistema operacional - se houver um estouro de buffer em seu firewall de terceiros, navegador da Web, leitor de e-mail ou outro aplicativo habilitado para rede, você ainda estará vulnerável. Na verdade, alguns dos aplicativos mais explorados por malware, IIS e Outlook, não são protegidos pela configuração de aceitação. Finalmente, como a maioria das pessoas não está ciente de seu comportamento padrão, ou mesmo DEP, os sistemas permanecerão em grande parte em risco de problemas de estouro de buffer.

É hora de a Microsoft fazer com que os usuários paguem o preço de compatibilidade em troca de melhor segurança ou os usuários vão acabar pagando um preço muito mais alto na mão de vírus - e eles, por sua vez, passarão a conta para a Microsoft. Enquanto isso, eu recomendo fortemente que você atualize para o Windows XP SP2 (Windows XP 64-bit Edition e Windows Server 2003 SP1 também têm suporte para no-execute), mude para opt-in e atualize para um processador com suporte no-execute (infelizmente, não receberei uma comissão).

Por favor, passe a newsletter para amigos que você acha que podem estar interessados em seu conteúdo.

Obrigado!

-Marcar

WINDOWS INTERNALS, 4ª EDIÇÃO

O livro oficial da Microsoft sobre os internos do Windows Server 2003, Windows 2000 e Windows XP, em coautoria com Dave Solomon, já está disponível nas livrarias. Dave e eu expandimos a cobertura da edição anterior em cerca de 25%, adicionando novo material não apenas sobre as alterações do Windows Server 2003 e XP, mas também sobre ferramentas e técnicas de solução de problemas. Você encontrará dicas avançadas sobre como usar o Process Explorer, Filemon e Regmon, e há um novo capítulo inteiro sobre análise de despejo de falha do Windows.

Saiba mais sobre o conteúdo do livro e encomende on-line em

http://www.sysinternals.com/windowsinternals.shtml

O QUE HÁ DE NOVO NA SYSINTERNALS

FLUXO RSS SYSINTERNALS

Recebi o pedido para adicionar um novo mecanismo de notificação de postagem ao Sysinternals com tanta frequência que finalmente segui a tendência de toda a web e adicionei um feed RSS (se você não estiver familiarizado com feeds RSS, aqui está uma boa cartilha: http://rss.softwaregarden.com/aboutrss.html). O feed também me dá a oportunidade de notificá-lo de pequenas correções de bugs e atualizações que não justificam uma listagem completa na página inicial. Já parece ser a maneira preferida para as pessoas saberem das atualizações com base no número de acessos que o feed recebe por dia.

Aceda ao feed RSS da Sysinternals em:

http://www.sysinternals.com/sysinternals.xml

ARTIGOS DA REVISTA SYSINTERNALS

Há cerca de seis meses, comecei a escrever uma coluna semestral na Windows IT Pro Magazine (anteriormente Windows e .NET Magazine) sobre as ferramentas Sysinternals. Cada coluna descreve uma ferramenta diferente, fornecendo dicas sobre o uso avançado e informações sobre como elas funcionam.

Dos três que foram publicados, listados abaixo, os dois primeiros estão acessíveis on-line por não assinantes e o terceiro será em breve:

Autoruns: http://www.win2000mag.com/Windows/Article/ArticleID/44089/44089.html

Pslist e Pskill: http://www.winnetmag.com/Windows/Article/ArticleID/43569/43569.html

PsExec: http://www.winnetmag.com/Windows/Issues/IssueID/714/Index.html

MARK É UM MVP DA MICROSOFT

O líder do Platform SDK Microsoft Most Valuable Professional (MVP) nomeou-me MVP para 2005. Estou grato a ele e à Microsoft por este reconhecimento oficial das contribuições que fiz aos clientes da Microsoft com a Sysinternals.

ESTATÍSTICAS DE NOVEMBRO

Eu finalmente tenho um programa decente de análise de tráfego web para Sysinternals e analisei os arquivos de log para o mês de novembro. A magnitude dos números surpreendeu até a mim. Eis alguns destaques:

  • 3,6 milhões de visualizações de página
  • 775.000 visitantes únicos
  • 1,2 milhões de downloads de utilitários
  • 200.000 downloads do Process Explorer, o download #1

AUTORUNS V6.01

Autoruns evoluiu muito nos últimos meses com duas grandes atualizações de número de versão. A versão mais recente do Autoruns exibe locais de início automático, além da chave Run padrão e pastas de inicialização, incluindo DLLs de notificação Winlogon, barras de ferramentas do Explorer, extensões de namespace e objetos auxiliares do navegador e DLLs de inicialização automática. Outro novo recurso, o item de menu do Google (emprestado do Process Explorer) ajuda a identificar imagens desconhecidas abrindo um navegador e iniciando uma pesquisa do nome da imagem selecionada.

Outro novo recurso, a verificação de assinatura de imagem, pode ajudá-lo a distinguir entre malware e componentes do sistema ou aplicativos confiáveis. A Microsoft geralmente inclui hashes de arquivos do sistema operacional que são assinados com a chave de assinatura privada da Microsoft. As funções criptográficas do Windows descriptografam os hashes assinados com a chave de assinatura pública da Microsoft e o Autoruns valida as imagens em seu sistema comparando seus hashes com as versões descriptografadas, prefixando o nome da empresa da imagem com "(Verificado)" quando há uma correspondência. Se uma imagem tiver sido adulterada, corrompida, substituída ou tiver um hash assinado por um editor que não seja confiável pelo seu sistema, o Autoruns informará o nome da empresa para a imagem como "(Não verificado)".

Como administrador de sistemas, você pode querer verificar as imagens de inicialização automática em contas diferentes daquela em que você está conectado, portanto, o Autoruns agora inclui um menu Usuário com seleções para cada conta que tenha um perfil armazenado no computador.

Finalmente, agora há um equivalente de linha de comando da GUI do Autoruns, chamado Autorunsc, que lista informações de execuções automáticas para o console. Sua capacidade de formatar a saída como CSV, quando combinada com o utilitário PsExec da Sysinternals, facilita a geração de inventários das imagens de inicialização automática configuradas para computadores em toda a rede.

Download Autoruns em
http://www.sysinternals.com/ntw2k/freeware/autoruns.shtml

EXPLORADOR DE PROCESSOS V8.61

Mais uma vez, o Process Explorer, uma ferramenta que substitui o Gestor de Tarefas como um utilitário avançado de gestão de processos, tem sido a ferramenta em que mais me concentrei, e isso deve-se ao facto de receber muito feedback por isso. Desde a última newsletter, o Process Explorer passou da versão 8.4 para a 8.6. Uma série de novos recursos marca essas duas versões, incluindo um item de menu do Google que inicia uma pesquisa por informações sobre um processo selecionado, uma guia strings na caixa de diálogo de propriedades do processo que lista as strings ASCII e Unicode presentes em um arquivo de imagem de processo, uma entrada de menu strings que lista strings em um arquivo de imagem DLL selecionado, e o nome do processo que mais consome CPU na dica de ferramenta que mostra quando você passa o mouse sobre o ícone da bandeja do Process Explorer.

Muitas pessoas solicitaram recursos que perderam ao alternar do Gerenciador de Tarefas, como a guia Aplicativos do Gerenciador de Tarefas. A guia Aplicativos mostra uma lista de janelas de nível superior na área de trabalho interativa, juntamente com o status do thread que possui cada janela: "Em execução" se o thread estiver atualmente aguardando para receber uma mensagem do Windows ou tiver processado uma mensagem do Windows nos últimos cinco segundos, e "não responder" de outra forma (ironicamente, isso geralmente significa que "em execução" indica que o thread está aguardando e "não respondendo" que está fora de execução). Agora você pode obter essas mesmas informações com o Process Explorer adicionando as colunas "Título da janela" e "Status da janela" à visualização do processo.

O Process Explorer tem recursos direcionados a processos at.NET há algum tempo, incluindo realce para processos .NET e uma guia Desempenho do .NET na caixa de diálogo de propriedades do processo dos processos .NET. Um processo .NET é aquele que foi carregado e registrado com o tempo de execução do .NET. Se um processo se registrar algum tempo depois de ser iniciado, o Process Explorer pode não perceber que é um processo .NET, mas a versão mais recente verifica novamente os processos quanto ao status do .NET e à associação ao objeto de trabalho quando você atualiza manualmente a exibição, pressionando o botão da barra de ferramentas de atualização, a tecla F5 ou selecionando o item de menu Atualizar.

Para situações em que você não tem certeza de qual processo possui uma janela, você pode usar o novo botão da barra de ferramentas do localizador de janelas para identificá-lo. Basta arrastar o botão da barra de ferramentas, que se parece com um destino, para fora da barra de ferramentas e sobre a janela em questão e o Process Explorer seleciona o processo proprietário na visualização do processo.

Uma adição que será imediatamente óbvia para você é o gráfico mini-CPU que é exibido perto da barra de ferramentas. Este gráfico mostra o histórico de uso da CPU do sistema e, como a versão expandida que você obtém quando clica nele para abrir a caixa de diálogo Informações do Sistema do Process Explorer, apresenta uma dica de ferramenta que inclui o carimbo de data/hora e o processo de maior consumo de CPU para o ponto no gráfico sobre o qual você move o mouse. Você pode mover o gráfico para qualquer lugar na área da barra de ferramentas, até mesmo em sua única linha, de modo que ele se estenda por toda a largura da janela do Process Explorer.

Dois recursos relacionados à segurança são a verificação de assinatura de imagem e o status DEP (proteção de execução de dados). Quando você habilita a opção de assinatura de imagem, o Process Explorer verifica se uma imagem de processo foi assinada digitalmente por um signatário confiável e, como o Autoruns, prefixa o nome da empresa na caixa de diálogo de propriedades do processo com "Verificado" ou "Não verificado". A opção é desativada por padrão porque a verificação de assinatura de imagem pode levar vários segundos à medida que a verificação vai para sites para verificar a validade dos certificados de assinatura.

DEP, que descrevo na introdução deste boletim informativo, é algo que você deve habilitar no Windows XP SP2 para proteção aprimorada contra explorações de estouro de buffer. Você pode verificar o status da DEP de um processo adicionando a coluna "Status da DEP" à visualização do processo ou verificando o campo "Status da DEP" na página da imagem da caixa de diálogo de propriedades do processo.

Finalmente, o Process Explorer agora lista os drivers carregados no sistema na visualização DLL do processo System, que é o processo associado aos threads de trabalho do kernel e do driver de dispositivo. As mesmas informações estão disponíveis para cada driver como para DLLs listadas para outros processos, incluindo versão, nome da empresa, caminho completo e endereço de carga no espaço de endereçamento do sistema.

Faça o download do Process Explorer em
http://www.sysinternals.com/ntw2k/freeware/procexp.shtml

SIGCHECK V1.0

Muitas das ferramentas Sysinternals estão adotando recursos que ajudam os usuários a identificar malware e o Sigcheck é um utilitário de linha de comando focado quase exclusivamente nesse objetivo. Ele usa a mesma funcionalidade de verificação de assinatura de imagem incluída em Autoruns e Process Explorer para informar se um arquivo foi assinado digitalmente por um editor confiável. Além disso, ele relata informações de versão do arquivo para a imagem ou imagens que você especificar, incluindo o nome do produto, descrição, nome da empresa e versão. Essas informações são semelhantes às que a ferramenta Filever que acompanha o Windows XP e o Windows Server 2003 relata, mas o Sigcheck também relata o carimbo de data/hora quando o arquivo foi originalmente "vinculado" ou criado para imagens não assinadas e o carimbo de data/hora da assinatura da imagem para as que foram assinadas. Finalmente, a maioria dos hashes assinados são assinados com chaves que foram assinadas, uma sequência que forma o que é chamado de cadeia de assinatura de certificado. O Sigcheck suporta uma opção de linha de comando que o direciona para imprimir a cadeia de assinatura com informações sobre cada um dos signatários na cadeia.

Um dos potenciais usos relacionados à segurança do Sigcheck é investigar qualquer .exe .dll não assinado ou imagens .sys em qualquer um dos diretórios sob a raiz da sua instalação do Windows (normalmente \Windows). Você pode identificar facilmente imagens .exe não assinadas executando o Sigcheck com esta linha de comando, por exemplo:

sigcheck -s -u c:\windows\*.exe

Todas as imagens da Microsoft devem incluir assinaturas válidas, mas o comando acima infelizmente revelará que muitas não o fazem, resultando em arquivos que podem ser potencialmente explorados para ocultar malware.

Download Sigcheck em
http://www.sysinternals.com/ntw2k/source/misc.shtml

BGINFO V4,07

Esta pequena atualização do Bginfo, uma ferramenta que exibe as informações que você configura na área de trabalho do computador no qual você o executa para facilitar a visualização, tem melhor suporte para bitmaps que devem ser estendidos para se adequar ao tamanho especificado, aprimoramentos de deteção de CPU, suporte para MySQL e compatibilidade de exibição de vários monitores aprimorada.

Download Bginfo em
http://www.sysinternals.com/ntw2k/freeware/bginfo.shtml

REGJUMP V1.0

Se você sempre quis criar atalhos do Explorer para chaves específicas do Registro ou simplesmente inserir o caminho de uma chave e ter o Regedit aberto para o local de destino, então você achará o Regjump útil. Regjump é um utilitário de linha de comando que usa a mesma tecnologia de "jump-to" do Registro que fomos pioneiros no Regmon. Dê ao Regjump um caminho do Registro como seu argumento de linha de comando e o Regedit será aberto e navegará até a chave ou valor especificado.

Faça o download do Regjump em
http://www.sysinternals.com/ntw2k/source/misc.shtml

HEX2DEC V1.0

Trabalhando com depuradores e desmontagem, muitas vezes me vejo tendo que converter hexadecimal para decimal e vice-versa. Eu finalmente cansei de abrir o Calc, digitar um número e, em seguida, mudar a base para ver a conversão e então escrevi um pequeno utilitário de conversão de linha de comando. Hex2dec converte em qualquer direção e convenientemente identifica a entrada como hexadecimal se tiver um prefixo "0x" ou "x" ou incluir as letras 'a'-'f' (não diferencia maiúsculas de minúsculas).

Download Hex2dec em
http://www.sysinternals.com/ntw2k/source/misc.shtml

TCPVCON V2.34

Netstat é um utilitário de linha de comando incorporado no Windows NT e superior que mostra os pontos de extremidade TCP e UDP atualmente ativos no sistema. A versão que a Microsoft introduziu com o Windows XP inclui uma informação útil: o identificador de processo (PID) do processo que abriu cada ponto de extremidade. No entanto, para determinar o nome do processo ou qualquer outra informação sobre ele, você tem que abrir uma ferramenta de listagem de processos e encontrar o processo com esse PID.

TCPView é um aplicativo GUI Sysinternals que mostra as mesmas informações de ponto de extremidade ativo, mas muito mais convenientemente do que Netstat, porque inclui o nome do processo, alterna rapidamente entre nomes DNS e endereços IP brutos e destaca com cores pontos de extremidade novos e excluídos. O download do TCPView agora inclui o TCPVCon, uma versão de console do TCPView, para aqueles que gostam de usar interfaces de linha de comando. Ao contrário do Netstat, o TCPVCon exibe o caminho completo do processo associado a cada ponto de extremidade e inclui um switch que despeja a saída no formato CSV.

Baixar Tcpvcon em
http://www.sysinternals.com/ntw2k/source/tcpview.shtml

ATUALIZAÇÕES PSTOOLS

PsKill e PsLoglist são os dois PsTools que ganharam melhorias nos últimos meses. PsKill, um utilitário de linha de comando que encerra processos no sistema local ou remoto, agora suporta um -t switch para que você possa encerrar uma árvore inteira de processos. Várias pessoas pediram essa opção para facilitar a limpeza de árvores fugitivas de scripts em lote.

PsLoglist é uma ferramenta de linha de comando que despeja logs de eventos em sistemas locais ou remotos. Atualizações recentes adicionaram 5 opções à sua já extensa lista de qualificadores de linha de comando. Os novos argumentos permitem excluir tipos de eventos especificados ou fontes de eventos da saída ou apenas despejar eventos dos últimos minutos ou horas. Ele agora também suporta um modo de monitoramento de log de eventos onde ele é executado até que você o encerre, imprimindo registros de log de eventos à medida que eles são gerados.

Faça o download do PsTools, incluindo PsKill e PsLoglist, em
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

SYSINTERNALS NA WWW.MICROSOFT.COM

Aqui está a última parte das referências Sysinternals em artigos da Base de Dados de Conhecimento Microsoft (KB) lançados desde o último boletim informativo. Isso eleva para 63 o número total de referências de KB públicas a Sysinternals.

  • CORREÇÃO: Windows Media Player 9 Series para Windows frequentemente acessa o registro e pode afetar o desempenho http://support.microsoft.com/?kbid=886423

  • Visão geral da atualização de segurança GDI+ 1.0 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsecure/html/gdiplus10security.asp

  • Edição de Registo http://support.microsoft.com/default.aspx?scid=kb; en-GB; 835818

  • Você recebe uma mensagem de erro "Não há informações para exibir nesta exibição" quando você tenta acessar uma exibição http://support.microsoft.com/default.aspx?scid=kbde projeto; en-us; 810596

INFORMAÇÃO INTERNA

NAVEGAÇÃO NA INTERNET

Cerca de um ano atrás, anunciei que tinha mudado do IE para o Mozilla porque o IE não tinha os recursos considerados obrigatórios para um navegador de Internet decente, como bloqueio de pop-ups, navegação por abas, preenchimento automático de formulários e filtragem de anúncios. Não muito tempo depois, alguém me apontou para o Avant Browser, um pequeno download que usa o IE (não é seu próprio navegador) para dar tudo isso e muito mais. A interface do usuário desajeitada da Mozilla e a falta de compatibilidade com certos sites que eu freqüentemente tornaram a decisão de mudar fácil. Embora a nova versão do FireFox seja melhor em ambos os aspetos, ainda existem alguns sites incompatíveis (como o Windows Update, por exemplo) e, portanto, não fui obrigado a mudar novamente.

A lentidão do progresso da Microsoft melhorando o IE, mesmo à luz dos modestos aprimoramentos do Windows XP SP2 do IE, deve envergonhá-los em comprar o Avant Browser e construí-lo na próxima versão do IE.

Faça o download do Avant Browser em: http://www.avantbrowser.com

USANDO O LIVEKD PARA SOLUCIONAR PROBLEMAS DE SISTEMAS DOENTES

LiveKd é um utilitário que escrevi para a 3ª edição do Inside Windows 2000 (agora é uma ferramenta freeware no Sysinternals). Ele permite que você use Windbg ou Kd do pacote Microsoft Debugging Tools for Windows para executar comandos de depuração normalmente usados para investigar despejos de falhas e sistemas congelados em um sistema on-line e ativo. A Microsoft introduziu um recurso semelhante, chamado "depuração do kernel local", para as ferramentas de depuração quando executadas no Windows XP e superior. Há várias coisas que você pode fazer com o LiveKd, no entanto, que você não pode com a depuração do kernel local. Por exemplo, você não pode olhar para pilhas de threads de modo kernel com depuração de kernel local e o comando list-kernel modules, lm k, lista apenas o kernel do sistema operacional e não os outros drivers de carga quando executados na depuração do kernel local. Ambos os comandos funcionam dentro do LiveKd.

Outro comando que não funciona na depuração do kernel local, mas que funciona no LiveKd, é .dumpo . Aprendi com um engenheiro do Microsoft Product Support Services (PSS) que o .dump comando pode ser útil para solucionar problemas de um sistema doente. Um computador que está enfrentando problemas, mas fornecendo serviços como web ou banco de dados, pode não ser um candidato para reinicialização ou depuração tradicional onde o sistema é pausado durante a investigação. Executar o LiveKd e executar .dump resulta em um arquivo formatado de despejo de memória que contém o conteúdo da memória física do sistema. Você pode levar o arquivo de despejo para outra máquina e analisar o estado do sistema operacional e dos aplicativos de serviço carregando o arquivo de despejo no WinDbg ou Kd, evitando assim uma interrupção enquanto você analisa a causa de um problema.

Download LiveKd em
http://www.sysinternals.com/ntw2k/freeware/livekd.shtml

RIACHO?

Eu estava recentemente investigando a inicialização do Windows XP Service Pack 2 versão do Winlogon, o processo do sistema responsável por apresentar a interface de usuário de logon, quando me deparei com o código na desmontagem onde o Winlogon verifica a presença de uma DLL chamada ediskeer.dll no diretório, garante que sua \Windows\System32 assinatura digital por um signatário confiável, se existir, e, em seguida, carrega-o e chama uma função sem nome exportada pela DLL. O código Winlogon que é executado quando alguém faz logon no sistema também chama a DLL se ela foi carregada durante a inicialização.

Eu procurei a DLL no meu sistema e não a encontrei, e ela também não está presente no CD do Service Pack 2. Então, o que é a DLL? Usando os símbolos de depuração que a Microsoft envia para o sistema operacional eu poderia ver Winlogon configurar uma variável chamada "Creekside" se ediskeer.dll está presente e assinado e então eu percebi que "ediskeer" consiste nas últimas 8 letras de "creekside" em ordem inversa. Ainda não tenho certeza do que Creekside se refere, mas suspeito fortemente que a DLL é uma que vem apenas com o Windows XP Starter Edition, a versão de baixo custo do Windows XP que a Microsoft introduziu recentemente para países em desenvolvimento. O Starter Edition baseia-se no mesmo núcleo do sistema operativo do Windows XP Professional e Home Editions, mas impõe limites ao número de aplicações que um utilizador pode ter em execução simultânea. Se eu estiver correto, o Winlogon carrega a DLL para impor esse limite, ativando-a toda vez que um novo usuário faz logon.

CHKREG REGISTRY FIXER

Ao longo dos anos, Bryce e eu recebemos inúmeros pedidos para uma analogia do Registro para o Chkdsk, o utilitário de verificação de consistência do sistema de arquivos. Nunca escrevemos um porque sentimos que o público de um é muito pequeno para justificar o esforço. Cerca de um ano atrás, a Microsoft lançou o pouco conhecido Chkreg, um Chkdsk para o Registro que corrige muitos tipos de corrupção do Registro.

Infelizmente, o Chkreg só é suportado no Windows 2000 (também pode funcionar no Windows NT 4 e Windows XP Registries) e é implementado como um aplicativo "nativo" que usa a API nativa em vez da API do Windows e, portanto, não será executado no Windows. Ao baixá-lo, você terá que instalá-lo em um conjunto de seis disquetes de inicialização de instalação do Windows, um assunto tedioso e demorado. Entramos em contato com os desenvolvedores do Chkreg e os encorajamos a lançar publicamente a versão do Windows que soubemos que o Microsoft Product Support Services (PSS) está usando internamente, mas não temos nenhuma palavra sobre quando ou se eles irão lançá-la.

Você pode baixar Chkreg em
http://www.microsoft.com/downloads/details.aspx?FamilyID=56D3C201-2C68-4DE8-9229-CA494362419C& displaylang=pt

DIAGNÓSTICO DE MEMÓRIA DO WINDOWS

Uma das experiências mais frustrantes para um usuário do Windows é um sistema com falhas. Na maioria dos casos, a falha é um driver de dispositivo 3rd-party buggy, que você pode corrigir desativando o driver ou atualizando para uma versão com uma correção. Cerca de 10% das falhas relatadas ao Microsoft Online Crash Analysis (OCA) são causadas por problemas de hardware, a maioria dos quais está relacionada a disco e memória.

Se você tiver falhas que o OCA não consegue diagnosticar ou suspeitar de um problema de memória, então você deve gastar alguns minutos com o Microsoft Windows Memory Diagnostic (WMD), uma ferramenta de verificação de memória que a Microsoft lançou recentemente. O instalador para WMD pede um disquete ou CD no qual ele salva o programa WMD. Quando você inicializa uma máquina a partir do disquete ou CD que você criou, o WMD é executado e executa um teste completo da memória do computador, relatando seu progresso e quaisquer problemas para a tela. Se você tiver erros de memória, WMD pode salvá-lo a frustração infinita de falhas do Windows.

Você pode baixar o Diagnóstico de Memória do Windows em http://www.microsoft.com/downloads/details.aspx?FamilyID=56D3C201-2C68-4DE8-9229-CA494362419C& displaylang=pt

PESQUISANDO INTERFACES NÃO DOCUMENTADAS

O recurso de status DEP que descrevo na seção sobre aprimoramentos do Process Explorer anteriormente no boletim informativo depende de uma função não documentada. Eu pensei que muitos de vocês estariam interessados em aprender como eu descobri, sem acesso ao código-fonte do Windows (Dave Solomon, meu coautor para Windows Internals, tem acesso, mas eu não), a função e seu uso adequado.

O primeiro passo no meu processo de análise foi levantar a hipótese de que uma consulta de status DEP para um processo seria encaminhada através da NtQueryInformationProcess API. Muitas funções da API do Windows que recuperam informações sobre um processo usam a NtQueryInformationProcess interface para obter as informações. Esta função, que é prototipada no arquivo Ntddk.h do Windows Driver Development Kit (DDK), é acessível a partir do modo de usuário através da interface de chamada do sistema "API nativa":

NTSYSAPI
NTSTATUS
NTAPI
NtQueryInformationProcess(
    IN HANDLE ProcessHandle,
    IN PROCESSINFOCLASS ProcessInformationClass,
    OUT PVOID ProcessInformation,
    IN ULONG ProcessInformationLength,
    OUT PULONG ReturnLength OPTIONAL
);

Seus dois primeiros argumentos são um identificador para um processo e uma "classe de informações do processo". A enumeração PROCESSINFOCLASS, cujas primeiras definições são mostradas abaixo, também está incluída no NTDDK. H:

typedef enum _PROCESSINFOCLASS {
    ProcessBasicInformation,
    ProcessQuotaLimits,
    ProcessIoCounters,
    ProcessVmCounters,
    ProcessTimes,
//...

Desde que a DEP foi introduzida no Windows XP SP2, eu não esperava que a classe de informações para consultas DEP fosse listada nas versões do Windows XP ou Windows Server 2003 do Ntddk.h, e uma verificação rápida confirmou sua ausência. Portanto, tive que investigar uma desmontagem do Ntoskrnl.exe do SP 2, a imagem onde NtQueryInformationProcess está implementada, para ver se eu poderia determinar a classe de informações de consulta DEP empiricamente.

Um desmontador pega uma imagem executável e lista as instruções de linguagem assembly que compõem seu código. As instruções de linguagem Assembly são mapeadas diretamente para as instruções executadas por um processador. O desmontador que eu uso é o IDA Pro, pois ele entende os arquivos de http://www.datarescue.com informações de depuração da Microsoft e integrará as informações na saída da linguagem assembly. Na desmontagem, descobri a complicada sequência de instruções no início de NtQueryInformationProcess que pega o parâmetro de classe de informações do processo e executa o código específico para cada classe. Como eu sabia que a classe de informação era nova, eu poderia pular a execução das classes para as quais eu vi definições na enumeração de PROCESSINFOCLASS Ntddk. Isso restringiu minha investigação para as cerca de 3 ou 4 novas classes introduzidas desde o lançamento do Windows XP.

Uma das classes, aquela que corresponde a um ProcessInformationClass valor de 0x22, levou-me através de um caminho de código para uma função chamada MmGetExecuteOptions, cujo início é mostrado aqui:

PAGE:0054D7CC ; __stdcall MmGetExecuteOptions(x)
PAGE:0054D7CC _MmGetExecuteOptions@4 proc near ; CODE XREF:
NtQueryInformationPro0063ess(x,x,x,x,x)+251C p
PAGE:0054D7CC
PAGE:0054D7CC arg_4 = dword ptr 8
PAGE:0054D7CC
PAGE:0054D7CC mov edi, edi
PAGE:0054D7CE push ebp
PAGE:0054D7CF mov ebp, esp
PAGE:0054D7D1 mov eax, large fs:124h
PAGE:0054D7D7 mov eax, [eax+44h]
PAGE:0054D7DA mov cl, [eax+6Bh]
PAGE:0054D7DD mov eax, [ebp+arg_4]
PAGE:0054D7E0 and dword ptr [eax], 0
PAGE:0054D7E3 xor edx, edx
PAGE:0054D7E5 inc edx
PAGE:0054D7E6 test dl, cl
PAGE:0054D7E8 jz short loc_54D7EC
PAGE:0054D7EA mov [eax], edx
PAGE:0054D7EC
PAGE:0054D7EC loc_54D7EC: ; CODE XREF:
MmGetExecuteOptions(x)+1C j
PAGE:0054D7EC test cl, 2
PAGE:0054D7EF jz short loc_54D7F4
PAGE:0054D7F1 or dword ptr [eax], 2
PAGE:0054D7F4
PAGE:0054D7F4 loc_54D7F4: ; CODE XREF:
MmGetExecuteOptions(x)+23 j
PAGE:0054D7F4 test cl, 4
PAGE:0054D7F7 jz short loc_54D7FC
PAGE:0054D7F9 or dword ptr [eax], 4
PAGE:0054D7FC

IDA Pro me mostrou na primeira linha na saída acima que a função aceita um argumento, que eu suspeitava ser um ponteiro para uma variável que recebe as configurações DEP. Passei tempo suficiente examinando desmontagens do kernel do Windows para reconhecer a sequência mov eax, large fs:124h; mov eax,[eax+44h] de instruções como uma leitura da estrutura de dados de thread _KTHREAD atual na estrutura de região de controle do processador (PCR), seguida por uma referência do KPROCESS campo em 0x44 de deslocamento na _KTHREAD estrutura. As instruções que seguem essas instruções leem bits individuais no byte no deslocamento 0x6B na _KPROCESS estrutura.

Sem saber de imediato o que está em offset 0x6B em um _KPROCESS eu lancei o Windbg no modo de depuração do kernel local e executei o comando dt _kprocess, que relatou isso:

+0x06b Flags : _KEXECUTE_OPTIONS

Looking at that structure with another dt command showed the bit definitions:

+0x000 ExecuteDisable : Pos 0, 1 Bit
+0x000 ExecuteEnable : Pos 1, 1 Bit
+0x000 DisableThunkEmulation : Pos 2, 1 Bit
+0x000 Permanent : Pos 3, 1 Bit
+0x000 ExecuteDispatchEnable : Pos 4, 1 Bit
+0x000 ImageDispatchEnable : Pos 5, 1 Bit
+0x000 Spare : Pos 6, 2 Bits

Com certeza, esses bits se relacionam com DEP e parece que MmGetExecuteOptions os copia dessa estrutura para os bits correspondentes no local de memória passado como o ProcessInformation argumento para NtQueryInformationProcess. Portanto, determinei que poderia consultar o status DEP de um processo chamando NtQueryInformationProcess com um ProcessInformationClass de 0x22, o endereço de um DWORD (inteiro de 4 bytes) e um comprimento de 4. Parece que retorna os sinalizadores apenas para o processo atual e ignora o ProcessHandle parâmetro (Process Explorer consulta o status DEP de outros processos, fazendo com que MmGetExecuteOptions seu driver auxiliar alterne para eles através da KeAttachProcess API).

Eu estava feito, exceto por algumas diferenças sutis na versão de 64 bits do Windows, uma vez que eu disponibilizo uma versão de 64 bits do Process Explorer. No Windows MmGetExecuteOptions de 64 bits requer que seja -1 e retorna um STATUS_INVALID_PARAMETER erro se o processo atual for um processo de 64 bits, já que ProcessHandle a DEP está sempre ativada para processos de 64 bits. Eu usei o Windbg para desmontar a versão de 64 bits do Ntoskrnl.exe, embora desde então tenha obtido a versão do IDA Pro que suporta a desmontagem de imagem AMD64.

FORMAÇÃO INTERNA

CONEXÕES DO WINDOWS EM SÃO FRANCISCO

Estou realizando duas sessões na conferência Windows Connections, que é administrada pela Windows IT Pro Magazine e acontece de 17 a 20 de abril em São Francisco. Uma delas é uma sessão geral chamada "Entendendo e Combatendo Malware: Vírus, Spyware e Rootkits", onde descrevo como o malware explora vulnerabilidades para propagar e contornar medidas de segurança, como eles se escondem usando técnicas sofisticadas chamadas "rootkits" e como detetá-las e limpá-las do seu sistema.

A outra sessão é "Solucionando problemas de memória do Windows", onde mostro como responder às perguntas antigas "qual é o significado dos valores que vejo no Gerenciador de Tarefas", "o que está usando minha memória" e "quão grande devo fazer o arquivo de paginação".

Descarregue a brochura da conferência e inscreva-se em
http://www.devconnections.com/shows/win/default.asp?s=60#

CLASSES PRÁTICAS DO WINDOWS INTERNALS/SYSINTERNALS POR MARK RUSSINOVICH

Passe 5 dias com Mark Russinovich e David Solomon, autores do novo livro Windows Internals 4ª edição, aprendendo técnicas avançadas de solução de problemas enquanto mergulha nos internos do kernel do sistema operacional Windows NT/2000/XP/2003. Se você é um profissional de TI implantando e dando suporte a servidores e estações de trabalho Windows, precisa ser capaz de cavar abaixo da superfície quando as coisas dão errado. Ter compreensão dos componentes internos do sistema operacional Windows e saber como usar ferramentas avançadas de solução de problemas irá ajudá-lo a lidar com esses problemas e entender os problemas de desempenho do sistema de forma mais eficaz. Compreender os componentes internos pode ajudar os programadores a tirar melhor partido da plataforma Windows, bem como fornecer técnicas avançadas de depuração. E como o curso foi desenvolvido com acesso total ao código-fonte do kernel do Windows E aos desenvolvedores, você sabe que está entendendo a história real.

As próximas datas incluem:

  • 6 A 10 DE JUNHO, ORLANDO, FLÓRIDA
  • 11-15 DE JULHO, MUNIQUE, ALEMANHA
  • 19-23 DE SETEMBRO, SÃO FRANCISCO, CALIFÓRNIA
  • 5 A 9 DE DEZEMBRO, AUSTIN, TEXAS

NOTA: Esta é uma aula prática - cada participante deve trazer seu próprio laptop (as instruções de configuração serão enviadas com antecedência).

Você obterá uma compreensão aprofundada da arquitetura do kernel do Windows NT/2000/XP/2003, incluindo os internos dos processos, agendamento de threads, gerenciamento de memória, E/S, serviços, segurança, o registro e o processo de inicialização. Também são abordadas técnicas avançadas de solução de problemas, como desinfeção de malware, análise de despejo de falhas (tela azul) e problemas de inicialização passados. Você também aprenderá dicas avançadas sobre como usar as principais ferramentas do www.sysinternals.com (como Filemon, Regmon, & Process Explorer) para solucionar uma série de problemas de sistema e aplicativos, como computadores lentos, deteção de vírus, conflitos de DLL, problemas de permissão e problemas de registro. Essas ferramentas são usadas diariamente pelo Atendimento Microsoft e têm sido usadas de forma eficaz para resolver uma ampla variedade de problemas de desktop e servidor, portanto, estar familiarizado com sua operação e aplicação irá ajudá-lo a lidar com diferentes problemas no Windows. Serão dados exemplos do mundo real que mostram a aplicação bem-sucedida dessas ferramentas para resolver problemas reais.

Para se inscrever, visite http://www.sysinternals.com/troubleshoot.shtml


Obrigado por ler a Newsletter da Sysinternals.

Publicado quarta-feira, 5 de janeiro de 2005 16:36 por ottoh

[Arquivo de boletins informativos ^] <[ Volume 6, Número 2] [Volume 7, Anúncio Especial >]