terça-feira, 27 de fevereiro de 2018

Entendendo os arquivos de despejo (Dump Files)


Em artigo recente, abordei um tema um tanto quanto obscuro para muitos administradores de sistemas: O uso do arquivo de paginação. Aos que não leram, recomendo que o faça aqui.

Nele, mencionei sobre a necessidade do uso de arquivos de paginação para a geração dos despejos de memória, importante mecanismo para resolução de problemas em sistemas operacionais Microsoft.

Nesse artigo discorrerei especificamente sobre os despejos de memória. Tratarei sobre as diversos tipos de dump files, o conteúdo dos arquivos, o comportamento relacionado ao acumulo / substituição dos arquivos e requisitos relacionados aos arquivos de paginação.

Com isso, espero esclarecer um outro tema obscuro e consequentemente contribuir para o enriquecimento técnico da comunidade de TI.

Vamos lá ...

Quando ocorre uma falha do sistema operacional, (também conhecida como "erro de parada”), o arquivo de despejo gerado a partir dessa ocorrência é chamado de despejo de memória ou dump memory.

Trata-se de um arquivo denominado "memory.dmp", gravado por padrão em “%SystemRoot%” e responsável por armazenar informações relacionadas aos eventos que antecederam a falha, permitindo aos administradores maior assertividade na análise da causa raiz do problema.

Conforme mencionei no artigo relacionado a “Arquivos de paginação” o arquivo de paginação deve ser grande o suficiente para manter o tipo de despejo de memória selecionado. Caso contrário, o sistema não criará o arquivo de despejo de memória.

Para atender cenários distintos, a Microsoft nos fornece a possibilidade de trabalhar com os seguintes tipos de arquivos de despejo: Despejo de memória pequeno, despejo de memória do kernel, despejo de memória completo, despejo de memória automático e despejo de memória ativo.

Small Memory Dump (Despejo de memória pequeno)

Possui exatamente 64 KB e requer um arquivo de paginação de apenas 64 KB na unidade de inicialização do sistema operacional.

É recomendado em situações onde o espaço em disco é extremamente limitado.

Em função da limitação de tamanho, os erros que não foram causados ​​diretamente pelo thread que executa no momento da falha podem não ser descobertos através da análise desse arquivo.

De acordo com a Microsoft, este arquivo inclui os seguintes elementos:

- A mensagem de verificação de erros e os parâmetros, bem como demais dados relacionados a "tela azul" (BSOD);

- O contexto do processador (PRCB) para o processador que caiu;

- As informações de processo e o contexto do kernel (EPROCESS) relacionado ao processo que caiu;

- A informação de thread e o contexto do kernel (ETHREAD) relacionado ao segmento que caiu;

- A pilha de chamadas em modo kernel para o segmento que caiu. Se esta for maior que 16 KB, somente os primeiros 16 KB serão incluídos;

- Lista de drivers carregados.

No Windows XP e versões posteriores do Windows, os seguintes itens foram incluídos:

- Lista de módulos carregados e descarregados;

- O bloco de dados do depurador, que contém informações básicas de depuração do sistema;

- Todas as páginas de memória adicionais que o Windows identifica como úteis nas falhas de depuração. Isso inclui as páginas de dados que os registros apontaram quando ocorreu o incidente e outras páginas especificamente solicitadas pelo componente de falha.

Uma particularidade relacionada a essa categoria de dump é que se houver um novo despejo de memória, o arquivo anterior será mantido. Cada novo arquivo receberá um nome distinto, que conterá a data da falha. Por exemplo, “mini022718-01.dmp” é o primeiro arquivo de despejo de memória gerado em 27 de fevereiro de 2018. Uma lista de todos os arquivos Small Dump da memória é mantida em “%SystemRoot%\Minidump”.
Kernel Memory Dump (Despejo de memória do Kernel)
Esse dump contém toda a memória em uso pelo kernel no momento da falha.

Normalmente o arquivo de despejo possuirá algo em torno de um terço do tamanho da memória física do sistema, porém essa quantidade variará em função das suas circunstâncias.

Este arquivo de despejo ignora a memória não alocada ou qualquer memória alocada para aplicativos em modo usuário. Ele só inclui memória alocada para o kernel do Windows e o nível de abstração de hardware (HAL), bem como a memória alocada aos drivers do modo kernel e outros programas em modo kernel.

Na maioria das vezes, este despejo é o mais apropriado por omitir apenas as porções de memória que provavelmente não estarão envolvidas na falha.

Por padrão, o arquivo dump da memória do Kernel é gravado em “%SystemRoot%\Memory.dmp”.

Em caso de um novo erro que gere um novo despejo de memória, o arquivo anterior será substituído.
Complete Memory Dump (Despejo de memória completo)
Trata-se do maior arquivo de despejo do modo kernel, pois inclui toda a memória física utilizada pelo Windows. Só não inclui, por padrão, a memória física usada pelo firmware da plataforma.

Este arquivo de despejo exige na unidade de inicialização um arquivo de paginação cujo tamanho seja igual a sua memória RAM + 1 MB.

Por padrão, o arquivo dump da memória do Kernel é gravado em “%SystemRoot%\Memory.dmp”.

Em caso de um novo erro que gere um novo despejo de memória, o arquivo anterior será substituído.
Automatic Memory Dump (Despejo de memória automático)
Disponível a partir do Windows 8 e Windows 2012, o dump de memória automático é habilitado por padrão e contém a mesma informação contida no dump da Memória do Kernel. Trata-se somente de uma nova configuração e não de uma nova categoria de despejo de memória.

A diferença entre os dois refere-se somente a maneira que o Windows define o tamanho do arquivo de paginação do sistema.

Se o arquivo de paginação estiver configurado para ser gerenciado automaticamente pelo sistema, e o despejo de memória estiver configurado como “Dump de memória automático”, o Windows poderá utilizar para o arquivo de paginação o equivalente ao tamanho da memória RAM ou 32 GB, optando pelo que for menor.

Dessa forma, o Windows define o tamanho do arquivo de paginação como o suficiente para garantir que um despejo de memória do kernel seja capturado.

Se em caso de falha o arquivo de paginação não for grande o suficiente para armazenar um despejo de memória do kernel, o Windows aumentará o tamanho do arquivo de paginação para o tamanho da RAM ou 32 GB (o que for menor) e registrará este evento no Registro, especificamente em “HKLM\SYSTEM\CurrentControlSet\Control\ CrashControl\LastCrashTime”.

Após aumentado, o arquivo de paginação permanecerá no local por 4 semanas e após esse período retornará ao tamanho menor. Se houver a necessidade de reduzir o arquivo de paginação antes de 4 semanas, bastará excluir a referida entrada de registro.

Por padrão, o arquivo de dump da memória do Kernel é gravado em “%SystemRoot%\Memory.dmp”.
Active Memory Dump (Despejo de memória ativo)
Disponível a partir do Windows 10, o dump de memória ativo assemelha-se a um despejo de memória completo, porém filtra páginas que provavelmente serão inúteis na resolução do problema. Por isso, geralmente é significativamente menor se comparado ao despejo de memória completo.

Inclui toda a memória alocada para aplicativos em modo usuário, a memória alocada ao kernel do Windows e ao nível de abstração de hardware (HAL), bem como à memória alocada aos drivers no modo kernel e outros programas no modo kernel.

O despejo inclui páginas ativas mapeadas no kernel ou espaço de usuário que são úteis para depuração. Não inclui o cache de arquivos e outros tipos de memória que provavelmente serão inúteis à depuração.

Essa categoria de dump é útil quando o Windows hospeda máquinas virtuais, pois o conteúdo relevante de cada máquina virtual estará incluso nesse arquivo. Havendo múltiplas máquinas virtuais em execução, haverá uma grande quantidade de memória em uso no sistema host.

Muitas vezes, as atividades de código de interesse estão no sistema operacional host e não nas máquinas virtuais (guest). Um despejo de memória ativo filtra a memória associada a todas as máquinas virtuais filho.

Por padrão, o arquivo dump da memória do Kernel é gravado em "%SystemRoot%\Memory.dmp".
Análise dos arquivos de despejo
Entre outros itens, a análise dos arquivos de dump é fundamental para determinar a causa de uma falha no sistema operacional.

Para abertura e análise de tais arquivos, podemos utilizar as ferramentas KD, DumpChk ou WinDBG que são ferramentas de depuração fornecidas pela Microsoft e disponível para download aqui.
Abraço e até a próxima!!!

sexta-feira, 9 de fevereiro de 2018

Aprovado no exame ISO 27001

Decidido a me aprofundar cada vez mais no segmento de SI, no último dia 07 fui aprovado no exame Information Security Foundation, baseado na norma ISO/IEC 27001, conquistando minha 24º aprovação em exames de certificação em 20 anos de carreira.

Nesse post, busco transmitir um pouco de minha experiencia com esse exame, minha forma de me preparar e impressões gerais.

Talvez por cursar MBA em Segurança da Informação e ter estudado bastante, achei o exame relativamente fácil. Na tabela abaixo, disponível no site da EXIN, podemos observar as áreas de conhecimento exploradas no exame e o respectivo peso de cada uma delas.




Minha Preparação


Trabalho em Alphaville e utilizo ônibus fretado de segunda a sexta-feira. Meus estudos ocorreram fundamentalmente no fretado. E essa é minha primeira dica: Tentar aproveitar o tempo disponível da melhor forma possível.

Além de leituras diversas da norma e livros, contratei o curso da TIEXAMES. Trata-se de um curso on-line com custo bastante acessível, 16 horas de duração, vídeo aulas gravadas, material em PDF, simulados e um precioso mapa mental que se rigorosamente seguido, aumenta significativamente as chances de aprovação.


O agendamento do exame

Ainda que seja um pouco mais caro, optei por fazer o exame presencial em um centro de exames credenciado pela Pearson VUE. Ainda acho mais confiável utilizar a infraestrutura de um centro oficial. Mera questão de opinião ... e de escolha.

Escolhi a Green Treinamentos, localizada na Avenida Paulista, nº 326. A maioria dos exames de certificação que já fiz foi realizado na Green e não tenho absolutamente nada a me queixar deles.

O custo do exame foi de $214,00, na cotação de 29/01 (data de aquisição e agendamento). Somado ao IOF, totalizou aproximadamente R$ 700,00 pago via cartão de crédito. Nesse caso é mandatório possuir um cartão de crédito internacional.


O dia do exame

Honestamente, por já ter feito vários exames de certificação e ter sido reprovado em alguns, já não sinto mais o mesmo nervosismo de anos atrás. Embora certa insegurança esteja sempre presente, estava confiante nos estudos que realizei.

Acordei de madrugada como sempre, peguei meu fretado e optei por tentar dormir (mesmo sabendo que nunca consigo).

Cheguei ao meu trabalho, tomei um café da manhã leve e executei minhas tarefas exatamente como estava programado.

Minha rotina só mudou às 12:00 hs, quando ao invés de ir almoçar, saí do trabalho para ir em busca de mais essa meta profissional / pessoal. No ônibus, dei mais uma lida em alguns tópicos do material da TIEXAMES.

Esse é outro ponto importante: Muitos tendem a se dedicar mais em temas que gostam e negligenciar os que não apreciam. Em casos relacionados à estudos, normalmente faço o oposto, me dedicando mais em temas que tenho pouca fluência.

O exame estava agendado para as 15:00 hs, mas sempre gostei de chegar bem mais cedo, relaxar, tomar um café extremamente forte (sem açúcar, por favor!!!), me concentrar e reafirmar meus propósitos.


A hora H

Após a resolução de toda a parte burocrática, chegou a hora do exame. Esse é o momento de maior tensão.

Extremamente calmo, a concentração era tanta que se estourassem uma bomba na avenida Paulista, eu sequer piscaria.

O exame é composto por 40 questões de múltipla escolha, que devem ser concluídas em 01 hora. Para ser aprovado, é necessário acertar 65% (26 questões).

Não demorei 30 minutos para concluir.

Entre os tópicos que mais me foram cobrados, ameaças humanas (intencionais e não intencionais), legislação e riscos dominaram. Por serem assuntos das quais possuo imenso interesse em minha vida cotidiana, não tive grandes problemas, tendo inclusive gabaritado a parte referente à legislação e quase gabaritado a parte referente à ameaças e riscos.

Uma dica importante (e óbvia), é prestar bastante atenção nos enunciados. As vezes, erra-se questões em função de uma única palavra que passou desapercebida.

Fiz a prova em português e a tradução era ótima. Lembro-me bem da péssima qualidade da tradução do meu exame de ITIL. Felizmente não há comparação.

O resultado sai na hora e a tão buscada aprovação veio, conforme desejado, planejado e esperado.


Após o exame



Logo após o término do exame, recebi um e-mail da Pearson VUE solicitando a confirmação de alguns dados pessoais, mas só dei atenção no dia seguinte.

Com os dados confirmados, em alguns minutos o certificado abaixo já estava disponível para download.




E assim, mais uma certificação foi conquistada.

Esse foi somente o primeiro passo de uma longa trajetória que pretendo percorrer em Segurança da Informação.

Esse ano, concluirei o MBA em Gestão de Segurança da Informação, e buscarei aprovação nos exames 70-744 (Securing in Windows Server 2016) e no Comptia Security+.

Abraço e até a próxima!!!