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
    • Alimentação Sysinternals RSS
    • 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 psTools
    • Sysinternals na Microsoft
  4. INFORMAÇÃO INTERNA

    • Navegação na Internet
    • Usando o LiveKd para resolver sistemas doentes problemáticos
    • CreekSide?
    • Corretor de registo ChkReg
    • Diagnóstico de Memória do Windows
    • Pesquisa de interfaces não documentados
  5. FORMAÇÃO INTERNA

    • Conexões Windows em São Francisco
    • Aulas de Windows Internas/Sysinternals de Mark Russinovich & David Solomon

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

Winternals tem o prazer de anunciar o próximo lançamento do Pak 5.0 do Administrador com uma atualização completa, incluindo o Comandante ERD 2005.

As novas funcionalidades no ERD Commander 2005 incluem:

  • Crash Analyzer: Diagnosticar rapidamente e facilmente o condutor responsável por um acidente de Windows - mesmo que o sistema não arranque
  • DiskWipe - Apagar seguramente discos ou volumes rígidos; Autoruns: Veja quais aplicações estão a começar na configuração Windows e início de súm no utilizador - útil para diagnosticar problemas de recursos do sistema e encontrar potenciais malwares
  • FireFox Web Browser: descarregue hotfixes, atualizações do controlador, procure ajuda na Base de Conhecimento da Microsoft - tudo no sistema que está a tentar reparar
  • Hotfix Desinstalar o Assistente, que permite remover hotfixes e pacotes de serviço num sistema insaciável
  • Sistema De Reparação de Ficheiros, que verifica Windows ficheiros do sistema para a integridade.

Estas funcionalidades, inúmeras melhorias e melhorias de usabilidade para o Comandante ERD 2005, e um novo cliente de Recuperação Remota com base em Windows PE estão todos incluídos no Pak 5.0 do novo administrador, disponível no final de janeiro de 2005. Para se inscrever para uma avaliação do Pak 5.0 do administrador quando for lançado, visite http://www.winternals.com/ap5preview/.

EDITORIAL

Olá a todos,

Bem-vindos ao boletim dos Sysinternals. O boletim tem atualmente 40.000 subscritores.

A maré crescente de malware, incluindo spyware e vírus, tem todos preocupados com a segurança. As boas medidas de segurança incluem manter-se com o sistema operativo e patches de aplicações, instalar e configurar firewall, antivírus e ferramentas de remoção de spyware, e exercer o julgamento ao descarregar a partir da Internet ou abrir anexos de e-mail. Apesar de medidas minuciosas, no entanto, o malware ainda pode encontrar formas de se esgueirar pelas defesas e infetar um computador. A lacuna mais comum nas defesas de um sistema é a vulnerabilidade do transbordo de tampão, e é por isso que deve estar familiarizado com Windows funcionalidade de Prevenção de Execução de Dados (DEP) do XP Service Pack 2.

Um transbordo de tampão é um erro de programação que os programas maliciosos podem aproveitar para assumir o controlo do fio que executa o erro de codificação. Os transbordos de tampão são geralmente baseados em pilhas, o que significa que um intruso dá ao programa mais dados do que caberá num tampão armazenado na pilha. Os dados são elaborados de forma a que, quando a função com o transbordo tenta voltar à função a partir da qual foi invocada, retorna a um local nos dados.

Infelizmente, os erros de transbordo de tampão podem atormentar até mesmo o software mais bem testado e revisto. São anunciados vários transbordos de tampão para Windows e o seu software de componentes mensalmente (o Linux e as suas aplicações não são imunes, com uma série de transbordos de tampão a par com Windows). Um tema comum para a maioria das explorações de transbordo de tampão é que resultam na execução do código colocado nas regiões de memória que devem conter apenas dados.

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

Pode parecer óbvio para si que Windows deve, por defeito, impor a proteção de não executar pilhas e aplicações para evitar explorações de transbordo de tampão, mas existem centenas de milhares de aplicações existentes, algumas das quais podem realmente contar com a definição não ser aplicada para o correto funcionamento. Portanto, Windows XP SP2, a primeira versão de Windows que impõe a proteção de não execução, dá a um administrador o controlo sobre quais os processos que ficam protegidos e quais não. Em primeiro lugar, numa decisão destinada a melhorar a segurança no futuro, a versão de 64 bits de Windows impõe sempre bandeiras de não execução para todos os processos de 64 bits. Se um fornecedor de software quiser lançar uma aplicação de 64 bits, tem de se certificar de que não executa código a partir de regiões de memória não executáveis (pode marcar uma região de dados como executável se gerar código on-the-fly, como muitas vezes fazem as aplicações Java e .NET).

Em segundo lugar, uma vez que as explorações de transbordo de tampão são mais comumente direcionadas para componentes do sistema operativo, Windows XP de 32 bits e Windows Server 2003 por padrão protegem as imagens do sistema operativo principal. No entanto, para aplicações de 32 bits (em execução em Windows de 32 ou Windows de 64 bits), Windows XP predefinições a uma estratégia de "opt-in" (as aplicações não estão protegidas por padrão) enquanto Windows Servidor 2003 não consegue "excluir" (as aplicações são protegidas por defeito, mas aplicações específicas podem ser excluídas). Isto faz sentido porque a segurança é tipicamente de maior prioridade nos sistemas de servidores. Pode alterar as definições de opt-in ou opt-out no diálogo de configuração DEP a que acede através do botão Definições na secção Desempenho da página Avançada do painel de controlo do Sistema applet.

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é à data não têm suporte de execução. No entanto, Windows XP e Windows Server 2003 implementam uma forma limitada de DEP nos processadores chamados "DEP de software". Uma vez que o sistema operativo ganha o controlo de um fio quando o fio gera uma falha, pode garantir que o manipulador de falhas que irá executar é aquele que está está estaticamente registado pelo código do programa. Isto impede uma exploração que redireciona o manipulador de falhas de um fio para executar código malicioso num tampão de pilha transbordado, que foi o que o vírus CodeRed fez com que o IIS fizesse quando foi lançado em 2001.

Apesar da sua relativa simplicidade, o DEP é uma das defesas mais fortes que o sistema operativo oferece no seu escudo contra o malware auto-propagação. Infelizmente, três coisas limitam a sua potência: a falta de suporte a hardware na maioria dos processadores atualmente implantados para a definição de não executar, a definição de opt-in padrão em Windows XP de modo a que apenas os processos do sistema operativo são protegidos e a falta de consciência. O DEP de software é limitado no seu âmbito e por isso o DEP só é marginalmente eficaz a menos que esteja a executar Windows em hardware que suporte a não executar. O facto de Windows xp por defeito de opt-in significa que mesmo quando os utilizadores executam Windows em hardware de execução não executada, os únicos processos que obtêm proteção DEP são os do sistema operativo - se houver um transbordo de tampão na sua firewall de terceiros, web browser, leitor de e-mail ou outra aplicação ativada pela rede, você ainda está vulnerável. Na verdade, algumas das aplicações mais exploradas por malware, IIS e Outlook, não estão protegidas sob a definição de opt-in. Finalmente, como a maioria das pessoas não está ciente do seu comportamento padrão, ou mesmo dep de todo, os sistemas permanecerão em risco de problemas de sobrecarga.

É o momento em que a Microsoft faz com que os utilizadores paguem o preço de compatibilidade em troca de uma melhor segurança ou os utilizadores vão acabar por pagar um preço muito mais alto pela mão de vírus - e, por sua vez, vão passar a conta para a Microsoft. Entretanto, recomendo vivamente que atualize para Windows XP SP2 (Windows XP 64-bit Edition e Windows Server 2003 SP1 também têm suporte para não executar), mudar para opt-in e atualizar para um processador sem suporte (infelizmente, não vou receber uma comissão).

Por favor, passe a newsletter a amigos que acha que podem estar interessados no seu conteúdo.

Obrigado!

- Marca

WINDOWS INTERNALS, 4ª EDIÇÃO

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

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

SYSINTERNALS RSS FEED

Recebi o pedido de adicionar um novo mecanismo de notificação de postagem aos Sysinternals tantas vezes que finalmente acompanhei a tendência em toda a web e adicionei um feed RSS (se você não está familiarizado com feeds RSS, aqui está um bom primer: 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 primeira página. Já parece ser a forma preferida de as pessoas aprenderem as atualizações com base no número de acessos que o feed obtém por dia.

Aceda ao feed Sysinternals RSS em:

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

ARTIGOS DA REVISTA SYSINTERNALS

Há cerca de seis meses comecei a ser autora de uma coluna semestiais na Windows it Pro Magazine (anteriormente Windows e revista .NET) em ferramentas Sysinternals. Cada coluna descreve uma ferramenta diferente, fornecendo dicas sobre o uso avançado e informações sobre como funcionam.

Dos três que foram publicados, listados abaixo, os dois primeiros sã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

A plataforma SDK Microsoft Most Valuable Professional (MVP) nomeou-me MVP para 2005. Agradeço-lhe a ele e à Microsoft por este reconhecimento oficial das contribuições que fiz aos clientes da Microsoft com sysinternals.

ESTATÍSTICAS DE NOVEMBRO

Finalmente consegui um programa decente de análise de tráfego web para sysinternals e analisei os ficheiros de registo para o mês de novembro. A magnitude dos números surpreendeu-me. Eis os destaques:

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

AUTORUNS V6.01

A Autoruns evoluiu muito nos últimos meses com duas grandes atualizações de números de versão. A mais recente versão da Autoruns exibe localizações de arranque automático para além das pastas standard run e startup, incluindo DLLs de notificação Winlogon, barras de ferramentas Explorer, extensões de espaço de nome e objetos de ajuda ao navegador e DLLs de auto-inicialização. Outra novidade, o item do menu do Google (emprestado do Process Explorer) ajuda-o a identificar imagens desconhecidas abrindo um navegador e iniciando uma pesquisa do nome de imagem selecionado.

Outra novidade, a verificação de assinatura de imagem, pode ajudá-lo a distinguir entre malware e componentes do sistema ou aplicações fidedignas. A Microsoft geralmente inclui hashes de ficheiros do sistema operativo que são assinados com a chave de assinatura privada da Microsoft. Windows funções criptográficas desencriptam os hashes assinados com a chave de assinatura pública da Microsoft e a Autoruns valida as imagens no seu sistema comparando as suas hashes com as versões desencriptadas, 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 haxixe assinado por uma editora que não seja confiável pelo seu sistema, a Autoruns informa o nome da empresa para a imagem como "(Não Verificado)".

Como administrador de sistemas, pode querer verificar as imagens de arranque automático em contas que não a que está a iniciar sessão como, pelo que a Autoruns inclui agora um menu de Utilizador com seleções para cada conta que tem um perfil armazenado no computador.

Finalmente, existe agora um equivalente de linha de comando do Autoruns GUI, chamado Autorunsc, que lista informações de autoruns para a consola. A sua capacidade de formatar a saída como CSV, quando combinada com a utilidade PsExec da Sysinternals, facilita-lhe a geração de inventários das imagens configuradas de arranque automático para computadores em toda a sua rede.

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

EXPLORADOR DE PROCESSO 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 na qual mais me foquei, e isso é porque recebo tanto feedback por isso. Desde a última newsletter, o Process Explorer passou da versão 8.4 para 8.6. Uma série de novas funcionalidades marcam estas duas versões, incluindo um item do menu do Google que inicia uma pesquisa de informações sobre um processo selecionado, um separador de cordas no diálogo de propriedades de processo que lista as cordas ASCII e Unicode presentes num ficheiro de imagem de processo, uma entrada de menu de cordas que lista as cordas num ficheiro de imagem DLL selecionado, e o nome do processo mais consumista de CPU na ponta da ferramenta que mostra quando você paira o rato sobre o ícone da bandeja do Explorador de processo.

Muitas pessoas solicitaram funcionalidades que não perderam ao mudar de Gestor de Tarefas, como o separador Aplicações do Gestor de Tarefas. O separador Aplicações mostra uma lista de janelas de nível superior no ambiente de trabalho interativo juntamente com o estado do fio que possui cada janela: "Running" se o fio está atualmente à espera para receber uma mensagem de janela ou tiver processado uma mensagem de janela nos últimos cinco segundos, e "não responder" de outra forma (ironicamente, isto geralmente significa que "correr" indica que o fio está à espera e "não responde" que o seu desligamento está a funcionar). Agora pode obter esta mesma informação com o Process Explorer adicionando as colunas "Window Title" e "Window Status" à vista do processo.

O Process Explorer tem tido funcionalidades direcionadas at.NET processos durante algum tempo, incluindo destaque para processos .NET e um separador .NET Performance no diálogo de propriedades de processos .NET. Um processo .NET é aquele que carregou e registou com o tempo de execução .NET. Se um processo se registar algum tempo depois de iniciar o processo, o Explorer pode não perceber que se trata de um processo .NET, mas a versão mais recente verifica os processos de estatuto .NET e de adesão a objetos de trabalho quando atualiza manualmente o ecrã, premindo o botão da barra de ferramentas de atualização, tecla F5 ou selecionando o item do menu Refresh.

Para situações em que não tenha certeza de que processo possui uma janela, pode usar o novo botão de barra de ferramentas para o identificar. Basta arrastar o botão da barra de ferramentas, que parece um alvo, para fora da barra de ferramentas e sobre a janela em questão e o Process Explorer seleciona o processo de propriedade na vista do processo.

Uma adição que será imediatamente óbvia para si é o gráfico mini-CPU que exibe perto da barra de ferramentas. Este gráfico mostra o histórico de utilização do CPU do sistema, e tal como a versão expandida que obtém quando clica nele para abrir o diálogo process explorer Informações do Sistema, apresenta uma ponta de ferramenta que inclui a marca de tempo e o processo de consumo mais alto do CPU para o ponto no gráfico sobre o qual move o rato. Pode mover o gráfico para qualquer lugar na área da barra de ferramentas, mesmo para a sua linha única, de modo a que se estenda através da largura da janela Process Explorer.

Duas funcionalidades relacionadas com a segurança são o estado de verificação da verificação de imagem e proteção de execução de dados (DEP). Quando ativar a opção de assinatura de imagem, o Process Explorer verificará se uma imagem de processo foi assinada digitalmente por um signatário fidedigno e, tal como a Autoruns, prefixa o nome da empresa no diálogo de propriedades do processo com "Verified" ou "Not Verified". A opção é desativada por padrão porque a verificação de assinatura de imagem pode demorar vários segundos à medida que a verificação vai para os sites para verificar a validade dos certificados de assinatura.

O DEP, que descrevo na introdução deste boletim, é algo que deve permitir no Windows XP SP2 uma proteção reforçada contra explorações de transbordo de tampão. Pode verificar o estado de DEP de um processo, quer adicionando a coluna "DeP Status" à vista do processo, quer verificando o campo "estado DEP" na página de imagem do diálogo de propriedades do processo.

Por fim, o Process Explorer lista agora os condutores carregados no sistema na visão DLL do processo do Sistema, que é o processo associado aos fios do kernel e do condutor do dispositivo. As mesmas informações estão disponíveis para cada controlador quanto aos DLLs listados para outros processos, incluindo versão, nome da empresa, percurso completo e endereço de carga no espaço de endereço do sistema.

Descarregue o Process Explorer em
http://www.sysinternals.com/ntw2k/freeware/procexp.shtml

SIGCHECK V1.0

Muitas das ferramentas Sysinternals estão a adotar funcionalidades que ajudam os utilizadores a identificar malware e o Sigcheck é um utilitário de linha de comando focado quase exclusivamente nesse objetivo. Utiliza a mesma funcionalidade de verificação de assinatura de imagem incluída na Autoruns e no Process Explorer para lhe dizer se um ficheiro foi ou não assinado digitalmente por uma editora de confiança. Além disso, informa as informações da versão do ficheiro para a imagem ou imagens que especifica, incluindo o nome do produto, descrição, nome da empresa e versão. Esta informação é semelhante à que a ferramenta Filever que envia com Windows relatórios XP e Windows Server 2003, mas o Sigcheck também relata o prazo em que o ficheiro foi originalmente "ligado" ou criado para imagens não assinadas, e o tempo de assinatura da assinatura de imagem para os que assinaram. Finalmente, a maioria dos haques 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 a direciona para imprimir a cadeia de assinaturas com informações sobre cada um dos signatários da cadeia.

Uma das potenciais utilizações relacionadas com a segurança do Sigcheck é investigar quaisquer imagens de .exe .dll ou .sys não assinadas em qualquer um dos diretórios sob a raiz da sua instalação Windows (normalmente \Windows). Pode facilmente identificar imagens .exe não assinadas executando 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 irá infelizmente revelar que muitos não, resultando em ficheiros que podem ser potencialmente explorados para ocultar malware.

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

BGINFO V4.07

Esta pequena atualização para o Bginfo, uma ferramenta que exibe as informações que configura no ambiente de trabalho do computador no qual o executou para fácil visualização, tem um melhor suporte para bitmaps que deve esticar para se ajustar ao tamanho especificado, melhorias de deteção de CPU, suporte para MySQL e melhor compatibilidade do visor multi-monitor.

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

REGJUMP V1.0

Se alguma vez quis criar atalhos explorer para chaves de registo específicas ou simplesmente entrar no caminho de uma chave e ter o Regedit aberto ao local alvo, então encontrará o Regjump útil. Regjump é um utilitário de linha de comando que usa a mesma tecnologia de "jump-to" do Registo que fomos pioneiros em Regmon. Dê ao Regjump um caminho de registo como o seu argumento de linha de comando e o Regedit abrir-se-á e navegará para a chave ou valor especificado.

Baixar Regjump em
http://www.sysinternals.com/ntw2k/source/misc.shtml

HEX2DEC V1.0

Trabalhando com depurados e desmontagem, encontro-me muitas vezes a ter de converter hexadecimal em decimal e vice-versa. Finalmente cansei-me de abrir o Calc, de introduzir um número, e depois de mudar a base para ver a conversão e por isso escrevi um pequeno utilitário de conversão de linha de comando. Hex2dec converte-se em qualquer direção e identifica convenientemente a entrada como hexadecimal se tiver um prefixo "0x" ou "x" ou inclui as letras 'a'-f' (o seu caso insensível).

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

TCPVCON V2.34

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

TCPView é uma aplicação Sysinternals GUI que mostra as mesmas informações de ponto final ativas, mas muito mais convenientemente do que o Netstat, porque inclui o nome do processo, alterna rapidamente entre nomes DNS e endereços IP brutos, e destaques com cores novos e eliminados pontos finais. O download do TCPView inclui agora o TCPVCon, uma versão de consola do TCPView, para aqueles que gostam de utilizar interfaces de linha de comando. Ao contrário do Netstat, a TCPVCon apresenta o percurso completo do processo associado a cada ponto final e inclui um interruptor 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. O PsKill, um utilitário de linha de comando que encerra processos no local ou num sistema remoto, agora suporta um -t interruptor para que possas acabar com uma árvore inteira de processos. Várias pessoas pediram esta opção para facilitar a limpeza de árvores em fuga de scripts de lotes.

O PsLoglist é uma ferramenta de linha de comando que despeja registos de eventos em sistemas locais ou remotos. As recentes atualizações adicionaram 5 opções à sua já longa lista de qualificações de linha de comando. Os novos argumentos permitem-lhe excluir tipos de eventos especificados ou fontes de eventos da saída ou apenas eventos de despejo dos últimos minutos ou horas. Agora também suporta um modo de monitorização de registo de eventos onde funciona até que o encerre, imprimindo registos de registos de eventos à medida que geram.

Baixar PsTools, incluindo PsKill e PsLoglist, em
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

SYSINTERNALS NA WWW.MICROSOFT.COM

Aqui está a mais recente versão das referências Sysinternals em artigos da Microsoft Knowledge Base (KB) lançados desde a última newsletter. Isto eleva para 63 o número total de referências públicas de KB aos Sysinternals.

  • FIX: Windows Media Player Série 9 para Windows acede frequentemente ao registo e pode afetar o desempenhohttp://support.microsoft.com/?kbid=886423

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

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

  • Recebe uma mensagem de erro "Não há nenhuma informação para exibir nesta vista" quando tenta aceder a uma Project Ver http://support.microsoft.com/default.aspx?scid=kb ;en-us;810596

INFORMAÇÃO INTERNA

NAVEGAÇÃO NA INTERNET

Há cerca de um ano anunciei que tinha mudado de IE para Mozilla porque o IE não tinha as funcionalidades consideradas obrigatórias para um navegador de Internet decente, como bloqueio de popup, navegação por abas, preenchimento automático de formulários e filtragem de anúncios. Pouco tempo depois alguém me apontou para o Avant Browser, um pequeno download que usa o IE (não é o seu próprio navegador) para dar tudo isso e muito mais. A UI desajeitada da Mozilla e a falta de compatibilidade com certos sites que frequentei tomaram a decisão de mudar facilmente. Embora o novo lançamento do FireFox seja melhor em ambos os aspetos, ainda existem alguns sites incompatíveis (como Windows Update, por exemplo) e por isso não fui obrigado a mudar novamente.

O lento progresso da Microsoft em melhorar o IE, mesmo tendo em conta os modestos Windows melhorias XP SP2 do IE, deve envergonhá-los a comprar o Avant Browser e construí-lo na próxima versão do IE.

Descarregue o Avant Browser em: http://www.avantbrowser.com

USANDO LIVEKD PARA RESOLVER PROBLEMAS SISTEMAS DOENTES

LiveKd é um utilitário que escrevi para a 3ª edição do Inside Windows 2000 (agora é uma ferramenta de software gratuito em Sysinternals). Permite-lhe utilizar o Windbg ou o Kd das Ferramentas de Depuragem da Microsoft para Windows pacote para executar comandos de depurar normalmente utilizados para investigar falhas e sistemas congelados num sistema que está on-line e ativo. A Microsoft introduziu uma capacidade semelhante, chamada "depuração de kernel local", para as ferramentas de depuração quando funciona em Windows XP e superior. Há várias coisas que pode fazer com o LiveKd, no entanto, que não pode com a depuragem de kernel local. Por exemplo, não é possível olhar para as pilhas de fios em modo kernel com depurações de kernel locais e o comando dos módulos de kernel list-kernel, lm k enumera apenas o núcleo do sistema operativo e não os outros controladores de carga quando executados na depuragem de kernel local. Ambos os comandos funcionam dentro do LiveKd.

Outro comando que não funciona na depuragem de kernel local, mas que funciona em LiveKd, .dump é. Aprendi com um engenheiro do Microsoft Product Support Services (PSS) que o .dump comando pode ser útil para resolver problemas num sistema doente. Um computador que esteja a ter problemas, mas que presta serviços como web ou base de dados, pode não ser candidato a reiniciar ou depurar tradicionalmente onde o sistema é interrompido durante a investigação. Executar LiveKd e executar .dump resulta num ficheiro formatado de falha que contém o conteúdo da memória física do sistema. Pode levar o ficheiro de despejo para outra máquina e analisar o estado do sistema operativo e aplicações de serviço carregando o ficheiro de despejo em WinDbg ou Kd, evitando assim uma paragem enquanto investiga a causa de um problema.

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

AO LADO DO RIACHO?

Estive recentemente a investigar a inicialização do Windows versão XP Service Pack 2 da Winlogon, o processo do sistema responsável pela apresentação da interface de utilizador do logon, quando encontrei código na desmontagem onde a Winlogon verifica a presença de um DLL nomeado ediskeer.dll no \Windows\System32 diretório, assegurando que o seu anúncio digitalmente assinado por um signatário de confiança se existir, e, em seguida, carrega-o e chama uma função sem nome exportada pela DLL. O código Winlogon que executa quando alguém entra no sistema também liga para o DLL se foi carregado durante a inicialização.

Procurei o DLL no meu sistema e não o encontrei, e 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 operativo, pude ver winlogon configurar uma variável chamada "Creekside" se ediskeer.dll estiver presente e assinado e então percebi que "ediskeer" consiste nas últimas 8 letras de "creekside" em ordem inversa. Ainda não sei ao que diz a Creekside, mas suspeito fortemente que o DLL é aquele que envia apenas com Windows XP Starter Edition, a versão low-cost de Windows XP que a Microsoft introduziu recentemente para países em desenvolvimento. A Starter Edition baseia-se no mesmo núcleo do sistema operativo que Windows Edições Profissionais e Domésticas XP, mas impõe limites ao número de aplicações que um utilizador pode ter em execução em simultâneo. Se estiver correto, o Winlogon carrega o DLL para impor esse limite, ativando-o sempre que um novo utilizador inicia sessão.

CORRETOR DE REGISTO CHKREG

Ao longo dos anos, bryce e eu recebemos inúmeros pedidos de uma analogia do registo para a Chkdsk, a utilidade de verificação de consistência do sistema de ficheiros. Nunca escrevemos um porque achamos que o público é muito pequeno para justificar o esforço. Há cerca de um ano, a Microsoft lançou o pouco conhecido Chkreg, um Chkdsk para o Registo que corrige muitos tipos de corrupção no Registo.

Infelizmente, a Chkreg só é suportada em Windows 2000 (também pode trabalhar em Windows registos NT 4 e Windows XP) e é implementada como uma aplicação "nativa" que utiliza a API nativa em vez da API Windows e por isso não será executada sob Windows. Quando o descarregar, terá de o instalar num conjunto de seis Windows de arranque de botas, um caso tedioso e demorado. Contactámos os desenvolvedores da Chkreg e encorajámo-los a lançar publicamente a versão Windows que aprendemos que o Microsoft Product Support Services (PSS) está a usar internamente, mas não temos notícias sobre quando ou se vão lançá-la.

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

DIAGNÓSTICO DE MEMÓRIA DO WINDOWS

Uma das experiências mais frustrantes para um utilizador Windows é um sistema de falha. Na maioria dos casos, a falha é um controlador de dispositivo de terceira parte, que pode remediar desativando o condutor ou atualizando para uma versão com uma correção. Cerca de 10% das falhas reportadas à Microsoft Online Crash Analysis (OCA) são causadas por problemas de hardware, a maioria dos quais relacionados com o disco e a memória.

Se tiver falhas que o OCA não consegue diagnosticar ou suspeitar de um problema de memória, então deve passar 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 de WMD pede um disco ou CD floppy ao qual guarda o programa WMD. Quando inicia uma máquina a partir do floppy ou CD que criou, o WMD executa e realiza um teste minucioso da memória do computador, reportando o seu progresso e quaisquer problemas no ecrã. Se tiver erros de memória, a WMD pode poupar-lhe a frustração interminável de acidentes Windows.

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

PESQUISA DE INTERFACES NÃO DOCUMENTADOS

A funcionalidade de estado de DEP que descrevo na secção sobre melhorias do Process Explorer anteriormente na newsletter baseia-se numa função não documentada. Pensei que muitos de vós estariam interessados em saber como descobri, sem acesso a Windows código fonte (Dave Solomon, o meu coautor da Windows Internals, tem acesso, mas não tenho), a função e o seu uso adequado.

O primeiro passo no meu processo de análise foi a hipótese de que uma consulta de estado de DEP para um processo iria passar pela NtQueryInformationProcess API. Muitas Windows funções de API que recuperam informações sobre um processo usam a NtQueryInformationProcess interface para obter a informação. Esta função, que está protótipo no ficheiro Ntddk.h do Kit de Desenvolvimento do Windows Driver Development (DDK), está acessível a partir do modo de utilizador 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
);

Os seus dois primeiros argumentos são um controlo para um processo e uma "aula de informação de processo". A enumeração PROCESSINFOCLASS, as primeiras definições das quais são mostradas abaixo, também está incluída no NTDDK. H:

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

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

Um desmontador pega numa imagem executável e lista as instruções do idioma de montagem que compõem o seu código. As instruções do idioma de montagem mapeiam diretamente para as instruções executadas por um processador. O desmontador que uso é IDA Pro, uma http://www.datarescue.com vez que compreende os ficheiros de informação de depurador da Microsoft e integrará a informação na produção do idioma de montagem. Na desmontagem descobri a sequência de instruções complicada no início do NtQueryInformationProcess que pega no parâmetro da classe de informação do processo e executa código específico para cada classe. Como sabia que a aula de informação era nova, podia ignorar a execução das aulas para as quais vi definições na enumeração do PROCESSINFOCLASS Ntddk. Isto reduziu a minha investigação às cerca de 3 ou 4 novas classes introduzidas desde Windows lançamento do 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 , o início do qual é 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 mostrou-me na primeira linha na saída acima que a função aceita um argumento, que eu suspeitei ser um ponteiro para uma variável que recebe as definições de DEP. Já passei tempo suficiente a olhar através de desmontagem do núcleo Windows para reconhecer a sequência de instruções mov eax, large fs:124h; mov eax,[eax+44h] como uma leitura da estrutura de dados de fio atual na estrutura de controlo do processador _KTHREAD (PCR) seguida de uma referência do KPROCESS campo em offset 0x44 na _KTHREAD estrutura. As instruções que seguem as que seguem lêem pedaços individuais no byte a 0x6B na _KPROCESS estrutura.

Não saber o que está em compensação 0x6B num _KPROCESS I launched Windbg em modo de depuramento de kernel local e executou o dt _kprocess comando, que relatou isto:

+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, estas partes dizem respeito ao DEP e parece que MmGetExecuteOptions as cópias dessa estrutura para as partes correspondentes no local da memória passaram como ProcessInformation o argumento para NtQueryInformationProcess . Por conseguinte, determinei que poderia consultar o estatuto de DEP de um processo, ligando NtQueryInformationProcess com um ProcessInformationClass de 0x22, o endereço de um DWORD (4-byte inteiro) e um comprimento de 4. Parece que MmGetExecuteOptions devolve as bandeiras apenas para o processo atual e ignora o ProcessHandle parâmetro (Process Explorer consulta o estado DEP de outros processos, fazendo com que o seu controlador auxiliar os altere através da KeAttachProcess API).

Acabei-me com algumas diferenças subtis na versão de 64 bits de Windows, uma vez que disponibilizei uma versão de 64 bits do Process Explorer. Em Windows de 64 MmGetExecuteOptions bits requer que ProcessHandle seja -1 e retorna um STATUS_INVALID_PARAMETER erro se o processo atual for um processo de 64 bits, uma vez que o DEP está sempre ligado para processos de 64 bits. Usei o Windbg para desmontar a versão de 64 bits de 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 JANELAS EM SÃO FRANCISCO

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

A outra sessão é "Resolução de problemas Windows problemas de memória" onde lhe mostro como responder à velhice "qual é o significado dos valores que vejo no Task Manager", "o que está a usar a minha memória", e "quão grande devo fazer as perguntas do ficheiro de paging".

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

AULAS PRÁTICAS DE INTERNAS/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 resolução de problemas enquanto mergulha nos internos do núcleo do sistema operativo Windows NT/2000/XP/2003. Se é um profissional de TI que implementa e suporta Windows servidores e estações de trabalho, precisa de ser capaz de cavar debaixo da superfície quando as coisas correm mal. Ter em compreensão dos internos do sistema operativo Windows e saber como utilizar ferramentas avançadas de resolução de problemas irá ajudá-lo a lidar com estes problemas e a compreender mais eficazmente os problemas de desempenho do sistema. Compreender os internos pode ajudar os programadores a aproveitarem melhor a 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 de Windows e desenvolvedores, sabe que está a receber a história real.

As próximas datas incluem:

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

NOTA: Esta é uma classe prática - cada participante deve trazer o seu próprio portátil (as instruções de configuração serão enviadas antes do tempo).

Você ganhará uma compreensão aprofundada da arquitetura kernel de Windows NT/2000/XP/2003, incluindo os internos dos processos, agendamento de fios, gestão da memória, I/O, serviços, segurança, o registo e o processo de arranque. Também estão abrangidas técnicas avançadas de resolução de problemas, tais como desinfeção de malware, análise de despejo de falhas (ecrã azul) e problemas de arranque passados. Também aprenderá dicas avançadas sobre a utilização das ferramentas-chave de www.sysinternals.com (como Filemon, Regmon, Process Explorer) para resolver uma série de problemas de sistema e aplicações, tais como computadores lentos, deteção de vírus, conflitos de DLL, problemas de permissão e problemas de registo. Estas ferramentas são utilizadas diariamente pelo Microsoft Product Support e têm sido utilizadas de forma eficaz para resolver uma grande variedade de problemas de ambiente de trabalho e servidor, pelo que estar familiarizado com o seu funcionamento e aplicação irá ajudá-lo a lidar com diferentes problemas em Windows. Serão dados exemplos do mundo real que mostram uma aplicação bem sucedida destas ferramentas para resolver problemas reais.

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


Obrigado por ler o Boletim Sysinternals.

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

[Newsletters Archive ^][ Volume 6, Número 2][Volume 7, Anúncio Especial ]

[Newsletters Archive ^][ Volume 6, Número 2][Volume 7, Anúncio Especial ]

A Newsletter Sistemas Internas Volume 7, Número 1

http://www.sysinternals.com
Copyright (C) 2005 Mark Russinovich