SiteView.getNodeProxy uses currentFolder.getAll() to lookup a target path (element).
FolderImpl.getAll() (both PSML and DB versions) will filter out any Node for which the current user doesn't have access.
But this means there is no distinction possible between a not-existing page access and not-allowed page access (e.g. 404 or 403).
The ProfilerValveImpl (invoking these) already can handle a thrown SecurityException and send a SC_FORBIDDEN error (if configured to do so).
So, the intended behavior already is to support this.
We just need to fix SiteView.getNodeProxy a little like calling currentFolder.getAllNodes() and perform a security check itself if the path was resolved.