보안 위반 없이 메모리 테스트 프로그램이 어떻게 작동할 수 있습니까?

보안 위반 없이 메모리 테스트 프로그램이 어떻게 작동할 수 있습니까?

방금 노트북에서 메모리 테스트를 실행하고 있었습니다(제조업체에서는Windows 10 Pro의 서비스로) 그리고 그들이 시스템의 모든 메모리(메모리 읽기 및 쓰기가 필요함)를 실제로 테스트할 수 있다고 주장한다는 생각이 들었습니다.

그러나 최신 시스템에서 애플리케이션은 "실제" 메모리를 얻지 못하고 가상 메모리 이미지를 얻습니다(본질적으로는 전체 시스템에 액세스할 수 있다고 생각하지만 실제로는 가상 메모리 그림입니다). 따라서 한 응용 프로그램이 다른 응용 프로그램에서 사용하는 메모리에 액세스하는 것은 (버그 제외) 불가능해야 합니다.

아마도 이러한 메모리 테스트 프로그램은 실제로 작동하고 나에게 거짓말을 하지 않습니다. 따라서 테스트할 시스템의 모든 메모리를 실제로 읽고 쓸 수 있다고 가정하면 이것이 어떻게 보안 문제가 아닙니까? 실행하는 데 사용하는 메모리를 테스트하는 Windows 응용 프로그램의 문제는 말할 것도 없습니다.

내가 여기서 무엇을 놓치고 있는 걸까요?

감사해요!

답변1

[...]한 응용 프로그램이 다른 응용 프로그램에서 사용하는 메모리에 액세스하는 것은 (버그 제외) 불가능해야 합니다.

진실,애플리케이션에 필요한 권한/권한이 없는 경우. 대부분의 시스템에서는 디버깅과 같이 제한된 메모리에 액세스하는 합법적인 용도가 있으므로 특별한 권한을 사용하여 메모리 액세스 제한을 피할 수 있습니다. 특히 MS Windows에는 이를 수행하는 기능이 ReadProcessMemory()있습니다 WriteProcessMemory(). 그러나 일하려면 특별한 특권이 필요합니다(예:메모리 편집기에서 메모리에 액세스할 수 있는 권한을 어떻게 높이나요?자세한 내용은).

따라서 서비스는 아마도 관리자 또는 유사한 권한으로 실행될 것입니다.

따라서 테스트할 시스템의 모든 메모리를 실제로 읽고 쓸 수 있다고 가정하면 이것이 보안 문제가 아닌 이유는 무엇입니까?

서비스에 모든 메모리를 읽을 수 있는 적절한 권한이 있는 경우 이는 OS의 관점에서 볼 때 보안 문제가 아닙니다. 서비스가 설치될 때(귀하 또는 제조업체에 의해) 승인되었습니다. 서비스에 보안 허점(예: 원격 코드 실행 취약성)이 있지만 이는 서비스에 따라 달라지는 경우(승격된 권한으로 실행되는 모든 서비스의 경우) 실제로는 여전히 보안 문제가 될 수 있습니다.

아마도 이러한 메모리 테스트 프로그램은 실제로 작동하며 나에게 거짓말을 하는 것이 아닙니다.

그것은 주어진 것이 아닙니다. 소프트웨어 공급업체는 다른 사람들과 마찬가지로 때때로 진실을 왜곡합니다. 서비스가 권한 문제와 관계없이 실행 중인 시스템에서 메모리를 테스트할 수 있어야 한다는 것이 의심스럽습니다. 서비스가 다른 소프트웨어를 방해하지 않고 사용 중인 메모리를 어떻게 테스트할 수 있습니까? 어쩌면 그들은 그것을 해냈을 수도 있고, 서비스가 현재 사용하지 않는 메모리만 테스트하거나 읽기만 테스트할 수도 있습니다. 분석하지 않고는 알 수 없습니다.

의견에서 지적했듯이 BIOS 메모리 검사나멤테스트86, 운영 체제를 로드하지 않고 부팅 후 바로 실행하여 메모리와 CPU에 대한 완전하고 독점적인 액세스 권한을 얻습니다.

관련 정보