3 ms·
There should be a way to "sandbox" a webpage, ie completely disconnect it from the outside world. I would be much more comfortable with this kind of demo that n
by MasterScrat 8y ago
There should be a way to "sandbox" a webpage, ie completely disconnect it from the outside world. I would be much more comfortable with this kind of demo that need webcam, audio or file upload.
So:
- block all incoming and outgoing requests from that page
- discard all data persisted in cookies/localStorage
- ignore caches (to prevent timing attacks)
- jstanley 8y agoI agree. This sort of thing would also be useful when performing client-side decryption of encrypted content. If it's not possible for the page to perform any lasting global state modifications, you wouldn't have to trust that the server is not shipping malicious code to exfiltrate the key or plaintext. It wouldn't be able to do so.
- onion2k 8y agoWouldn't there need to be some sort of way to verify the client hasn't been modified in order to trust that? That's not really possible, because you'd be asking something to verify itself.
- jstanley 8y agoIf you configure your browser not to allow the client to leak anything, it doesn't even matter if the client has been modified because it can't leak anything anyway. EDIT: I'm speaking from the position of an end-user. I'm downloading ciphertext + a decryption tool from an untrusted server and executing the decryption tool locally, with a key which I input locally. I want to make sure that the plaintext and key do not get leaked back to the server. Situations where this arises include encrypted pastebins, bitaddress.org, Ian Coleman's BIP39 tool, anything else that generates or handles bitcoin keys, etc.
- Franciscouzo 8y agoI wouldn't trust such a set up for cryptography, the page could either use a bad RNG, or generate your private key by encrypting it with a public key for which they control the private one, so when you release your public key they are able to generate the private one.
- kbutler 8y agowget the page and dependencies, disconnect the network, open the page in anonymous mode? May have to watch the network tab to identify additional dependencies as the page loads.
- MasterScrat 8y agoI mean then you can just fully load the page in incognito, disable the network interface, and close the window before reconnecting to the network.
- kbutler 8y agoThat was my first thought, but I realized that it gave a window for an attacker to exploit vulnerabilities during the loading process to send private information to the servers. The wget step ensures that the user knows and controls everything that gets sent upstream. Is there a browser that can require of each HTTP request?