내보내기(0) 인쇄
모두 확장
확장 최소화

Device\PhysicalMemory 개체

적용 대상: Windows Server 2003 with SP1

\Device\PhysicalMemory 개체는 어떤 기능을 수행합니까?

\Device\PhysicalMemory 섹션 개체는 일부 응용 프로그램에서 실제 메모리에 액세스하는 데 사용합니다. 이러한 사용의 일반적인 예로는 최하위 1MB의 실제 메모리에 저장되어 있는 시스템 관리 BIOS(SMBIOS)나 다른 BIOS 데이터를 읽으려고 하는 관리 응용 프로그램이 있습니다.

이 기능의 적용 대상은 누구입니까?

이 기능은 하드웨어 및 하드웨어 관리 응용 프로그램 개발자가 사용할 수 있습니다.

기존 기능 중 Windows Server 2003 서비스 팩 1에서 변경된 기능은 무엇입니까?

Device\PhysicalMemory 섹션 개체

자세한 설명

Windows Server 2003 SP1에서 \Device\PhysicalMemory 개체에 대한 사용자 모드 액세스는 허용되지 않습니다. 사용자 모드 응용 프로그램에서 \Device\PhysicalMemory 개체에 액세스할 때 모든 형태의 액세스(읽기, 쓰기)가 거부됩니다. \Device\PhysicalMemory 개체에 대한 액세스는 응용 프로그램을 실행 중인 사용자 컨텍스트(관리자, 사용자, 로컬 시스템 등)에 관계없이 거부됩니다.

\Device\PhysicalMemory 개체에 대한 커널 모드(드라이버) 액세스는 Windows Server 2003 SP1에 대해 변경되지 않습니다.

Windows Server 2003 SP1에는 이 변경된 동작을 되돌릴 수단이 없습니다.

이 변경 사항이 중요한 이유는 무엇이며 이로 인해 줄어드는 위협은 무엇입니까?

이 변경 사항은 사용자 모드에서 \Device\PhysicalMemory 개체의 기능을 이용할 수 있는 보안 악용을 방지하기 위한 것입니다.

이전 버전의 Windows에서 \Device\PhsyicalMemory 개체에 대한 액세스는 ACL(액세스 제어 목록)로 보호되었습니다. 하지만 ACL은 실수로 변경될 수 있습니다. 사용자 모드에서 \Device\PhysicalMemory 개체에 대한 액세스를 모두 거부하면 이러한 경우가 발생할 수 없게 됩니다.

작동 방식의 차이는 무엇이며 종속성이 있습니까?

대부분의 응용 프로그램에서는 실제 메모리에 액세스하려고 하지 않지만 BIOS의 정보가 필요한 일부 관리 응용 프로그램에서는 이 변경 사항의 영향을 받을 수 있습니다. 이러한 많은 관리 응용 프로그램에서 SMBIOS 데이터를 읽으려고 할 수 있습니다.

이러한 문제를 해결하는 방법은 무엇입니까?

관리 응용 프로그램 공급업체는 \Device\PhysicalMemory 개체에 대한 액세스에 대해 자신의 응용 프로그램을 검토하고 이 섹션에서 권장하는 해결 방법 중 하나를 구현하는 것이 좋습니다.

note참고
다음 방법을 사용하여 Windows Server 2003 SP1의 응용 프로그램에서 하위 실제 메모리와 펌웨어 테이블 데이터를 읽을 수 있습니다. 하위 실제 메모리에 대한 쓰기 액세스가 필요한 응용 프로그램에서는 커널 모드 드라이버에서 하위 실제 메모리에 써야 합니다.

SMBIOS 정보 읽기

WMI(Windows Management Instrumentation)는 Windows에서 SMBIOS 정보를 읽기 위한 기본 방법입니다. WMI는 root\cimv2 네임스페이스에 포함된 Win32 클래스에서 BIOS 버전이나 시스템 제조업체와 같은 개별 SMBIOS 속성 읽기를 지원합니다.

WMI는 root\wmi 네임스페이스 내의 MSSMBios_RawSMBiosTables 클래스를 사용하여 단일 버퍼에 있는 SMBIOS 데이터의 전체 콘텐츠 읽기도 지원합니다. SMBiosData 속성은 SMBIOS 사양의 2.1.1 섹션에 정의된 대로 SMBIOS 구조 테이블 진입점을 제외하고 전체 SMBIOS 데이터 테이블을 포함하는 버퍼를 반환합니다.

WMI는 COM과 스크립트 API를 모두 지원하여 WMI 정보에 액세스합니다. 또한 WMI는 Windows XP SP2와 Windows Server 2003 SP1 버전의 Windows 사전 설치 환경(WinPE)에서 지원됩니다.

Windows Server 2003 서비스 팩 1을 사용하려면 코드를 변경해야 합니까?

응용 프로그램에서 \Device\PhysicalMemory 개체를 사용하는 경우에는 코드를 변경해야 Windows Server 2003 SP1에서 해당 응용 프로그램이 제대로 작동합니다. 응용 프로그램에서 다양한 시스템 펌웨어 테이블을 읽는 데 사용할 수 있는 새 사용자 모드 API에는 두 가지가 있습니다. 이러한 API는 하위 실제 메모리의 원시 BIOS 데이터를 읽을 때뿐 아니라 SMBIOS 및 ACPI 데이터를 읽을 때도 사용할 수 있습니다. API 구현에 대한 자세한 내용은 MSDN 웹 사이트의 플랫폼 SDK에 있습니다. 다음은 새로 추가된 두 개의 API입니다.

  • Microsoft 웹 사이트(http://go.microsoft.com/fwlink/?LinkId=45562)에 설명되어 있는 EnumSystemFirmwareTables

  • Microsoft 웹 사이트(http://go.microsoft.com/fwlink/?LinkId=45563)에 설명되어 있는 GetSystemFirmwareTable

추가 정보

이 기능의 변경으로 영향을 받는 경우 다음 웹 리소스를 참고할 수도 있습니다.

  • Microsoft 웹 사이트(http://go.microsoft.com/fwlink/?LinkId=159)에서 사용할 수 있는 Windows Platform SDK의 WMI(Windows Management Instrumentation) 섹션

  • DMTF 웹 사이트(http://go.microsoft.com/fwlink/?LinkId=38721)에서 사용할 수 있는 Distributed Management Task Force, Inc.(DMTF)의 시스템 관리 BIOS(SMBIOS) 표준 사양

  • Microsoft 웹 사이트(http://go.microsoft.com/fwlink/?LinkId=38722)에서 다운로드할 수 있는 Microsoft® Windows® 사전 설치 환경(Windows PE) 도구

이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft