Exportar (0) Imprimir
Expandir Todos
Expand Minimize
Este tópico ainda não foi classificado - Classificar este tópico

Objecto Device\PhysicalMemory

Qual a função do Objecto \Device\PhysicalMemory?

O objecto da secção \Device\PhysicalMemory é utilizado por algumas aplicações para acesso à memória física. Os exemplos comuns desta utilização são as aplicações de gestão que tentam ler dados do SMBIOS (System Management BIOS) ou outros dados do BIOS armazenados em 1 MB da memória física.

A quem se aplica esta função?

Esta função tem interesse para programadores de hardware e de aplicações de gestão de hardware.

Que funcionalidade existente foi alterada no Windows Server 2003 Service Pack 1?

Objecto da secção Device\PhysicalMemory

Descrição detalhada

No Windows Server 2003 SP1, não é permitido o acesso no modo de utilizador ao objecto \Device\PhysicalMemory. Todas as formas de acesso (leitura, escrita) são recusadas quando o objecto \Device\PhysicalMemory é acedido a partir de uma aplicação no modo de utilizador. O acesso ao objecto \Device\PhysicalMemory é recusado independentemente do contexto de utilizador (Administradores, Utilizadores, Sistema Local, etc.) em que a aplicação está a ser executada.

No Windows Server 2003 SP1, o acesso (de controlador) no modo kernel ao objecto \Device\PhysicalMemory não é alterado.

Não existe nenhuma forma de reverter este comportamento alterado no Windows Server 2003 SP1.

Porque é que esta alteração é importante? Que ameaças ajuda a atenuar?

Esta alteração foi efectuada para ajudar a impedir explorações de vulnerabilidades de segurança que poderiam tirar partido da funcionalidade do objecto \Device\PhysicalMemory no modo de utilizador.

Nas versões anteriores do Windows, o acesso ao objecto \Device\PhsyicalMemory estava protegido por uma lista de controlo de acesso (ACL, access control list). No entanto, a ACL pode ser alterada inadvertidamente. A recusa de qualquer acesso ao objecto \Device\PhysicalMemory no modo de utilizador impossibilita essa situação.

O que funciona de maneira diferente? Existem dependências?

Embora a maior parte das aplicações não tente aceder à memória física, algumas aplicações de gestão que requerem informações do BIOS podem ser afectadas por esta alteração. Muitas destas aplicações de gestão podem tentar ler dados do SMBIOS.

Como posso resolver estes problemas?

Os fornecedores de aplicações de gestão são encorajados a rever as suas aplicações relativamente ao acesso ao objecto \Device\PhysicalMemory e a implementar uma das soluções propostas nesta secção.

noteNota
No Windows Server 2003 SP1, é possível utilizar os métodos seguintes para ler dados da tabela de firmware e da memória física inferior a partir de uma aplicação. As aplicações que requerem acesso de escrita à memória física inferior terão de fazê-lo a partir de um controlador de modo kernel.

Ler informações do SMBIOS

O WMI (Windows Management Instrumentation) é o método preferencial de leitura de informações do SMBIOS no Windows. O WMI suporta a leitura de propriedades do SMBIOS individuais (tal como a versão do BIOS ou o fabricante do sistema) a partir de classes Win32 no espaço de nomes root\cimv2.

Além disso, o WMI suporta a leitura de todo o conteúdo dos dados do SMBIOS numa única memória intermédia utilizando a classe MSSMBios_RawSMBiosTables, dentro do espaço de nomes root\wmi. A propriedade SMBiosData devolve uma memória intermédia com a tabela completa de dados do SMBIOS, exceptuando o Ponto de Entrada da Tabela de Estrutura do SMBIOS, conforme é definido na secção 2.1.1 da especificação de SMBIOS.

O WMI suporta uma API de script e COM para aceder à informação WMI. Além disso, o WMI é suportado nas versões Windows XP SP2 e Windows Server 2003 SP1 do WinPE (Windows Preinstallation Environment, Ambiente de Pré-instalação do Windows).

Necessito de alterar o código para funcionar com o Windows Server 2003 Service Pack 1?

Se a sua aplicação utilizar o objecto \Device\PhysicalMemory, terá de alterar o código para que a aplicação funcione com o Windows Server 2003 SP1. Existem duas novas APIs de modo de utilizador que podem ser utilizadas pelas aplicações para ler várias tabelas de firmware de sistema. Estas APIs podem ser utilizadas para ler dados do SMBIOS e ACPI, assim como para ler dados do BIOS em bruto (não processados) a partir da memória física inferior. Os detalhes da implementação da API estão disponíveis no Platform SDK no Web site da MSDN. Seguem-se as duas novas APIs:

  • EnumSystemFirmwareTables, descrito no Web site da Microsoft em http://go.microsoft.com/fwlink/?LinkId=45562.
  • GetSystemFirmwareTable, descrito no Web site da Microsoft em http://go.microsoft.com/fwlink/?LinkId=45563.

Para mais informações

Caso seja afectado por esta alteração à funcionalidade, os seguintes recursos Web também poderão ter interesse:

  • A secção Windows Management Instrumentation (WMI) do Windows Platform SDK disponível no Web site da Microsoft em http://go.microsoft.com/fwlink/?LinkId=159.
  • A especificação da norma SMBIOS (System Management BIOS) fornecida pelo DMTF (Distributed Management Task Force, Inc.) disponível no Web site da DMTF em http://go.microsoft.com/fwlink/?LinkId=38721.
  • A ferramenta Ambiente de Pré-instalação do Microsoft® Windows® (Windows PE), está disponível para transferência no Web site da Microsoft em http://go.microsoft.com/fwlink/?LinkId=38722.
Considera isto útil?
(1500 caracteres restantes)
Obrigado pelos seus comentários

Conteúdo da Comunidade

Adicionar
Mostrar:
© 2014 Microsoft. Todos os direitos reservados.