Por que o Windows permite que você leia e grave outra memória de processo?

Por que o Windows permite que você leia e grave outra memória de processo?

Descobri que muitos depuradores (como x64dbg) ou visualizadores hexadecimais (HxD) permitem acessar e modificar a memória de outro processo. Funciona sem pedir permissão.

Até escrevi um programa simples que substitui uma string na memória de outros processos e funciona. (Ele usa as funções CreateToolhelp32Snapshot, Process32First, Process32Next para encontrar o processo, OpenProcess para acessá-lo, VirtualMemoryEx para obter locais de memória válidos e ReadProcessMemory/WriteProcessMemory para ler/gravar nele.) Ele pode ser potencialmente usado indevidamente para atividades maliciosas.

Por que isso funciona? Por que o Windows nos fornece essa funcionalidade? Não deveria ser mais restrito?

informação relacionada