Windows에서 다른 프로세스 메모리를 읽고 쓸 수 있는 이유는 무엇입니까?

Windows에서 다른 프로세스 메모리를 읽고 쓸 수 있는 이유는 무엇입니까?

나는 많은 디버거(예: x64dbg) 또는 16진수 뷰어(HxD)를 사용하여 다른 프로세스의 메모리에 액세스하고 수정할 수 있다는 것을 발견했습니다. 허락을 구하지 않고도 작동됩니다.

나는 다른 프로세스의 메모리에 있는 문자열을 대체하는 간단한 프로그램을 작성했는데 작동했습니다. (CreateToolhelp32Snapshot, Process32First, Process32Next 함수를 사용하여 프로세스를 찾고, OpenProcess를 사용하여 프로세스에 액세스하고, VirtualMemoryEx를 사용하여 유효한 메모리 위치를 가져오고, ReadProcessMemory/WriteProcessMemory를 사용하여 읽기/쓰기를 수행합니다.) 악의적인 활동에 악용될 가능성이 있습니다.

그게 왜 효과가 있나요? Windows가 이러한 기능을 제공하는 이유는 무엇입니까? 좀 더 제한해야 하지 않겠습니까?

관련 정보