4 ms·
Sandbox it from what, exactly? The ability to access things you care about and arbitrary internet addresses are intrinsic to a proxy. If you stop it being able
by hug 7y ago
Sandbox it from what, exactly? The ability to access things you care about and arbitrary internet addresses are intrinsic to a proxy.
If you stop it being able to see your traffic, it stops working.
If you stop it being able to get to the Internet, it stops working.
- saagarjha 7y agoYou load a list of rules into it, and the only thing it is allowed to do is make a classification of where the URL should go (if you're paranoid, make this classification strictly binary). It cannot write any state out, nor connect to the internet itself.
- Dylan16807 7y agoWhat you are describing is not a VPN extension, and it's not a MitM proxy.
- saagarjha 7y agoIt's a solution for content filtering.
- BubRoss 7y agoA VPN is for hiding your IP address, not filtering. Whatever goes through the VPN, the VPN controller sees.
- saagarjha 7y agoOn iOS, general content filtering needs to go through a VPN extension.
- Dylan16807 7y agoIt's a solution for some situations, but not the one userbinator was talking about. The problem here is needing to trust the filter program. Moving code into a sandbox doesn't help, because you still need an app outside the sandbox to make it actually filter, and the problem is not being able to trust an app.
- saagarjha 7y agoI mean, you really can't trust that the app just isn't a dud and does nothing. But with sandboxing you can prevent the app from reporting your browsing history.
- Dylan16807 7y agoNo... You have X inside a sandbox. It has the filtering logic, and can't report home. Cool. But you need Y outside the sandbox so that your content actually gets filtered. Without Y, your "filtering app" does nothing. You need code that is outside the sandbox. But how do we set up Y? In the context of a mobile device, Y would have to be a VPN app. But the original problem is that we can't trust VPN apps to do what they say. So even though you moved the actual filtering logic into X, and put it in a secure sandbox, you didn't solve the problem of needing to trust an app. (And "put Y into the trusted OS" is not a valid solution toward getting filtering on "locked-down mobile platforms".)
- saagarjha 7y agoAgain, you can't trust that the app actually does filtering, because as you said the filter list is loaded and evaluated by code that has no obligation to do this. But it can't track your internet browsing because the component that could, the VPN extension, is inside a sandbox.
- Dylan16807 7y agoYou can put most of the code in a sandbox. But the part of the code that does the vpn CANNOT be inside a sandbox. It has to interface with actual connections. If you sandbox 100% of the code, it doesn't work.
- saagarjha 7y agoThere is a specific API I am thinking of: https://developer.apple.com/documentation/networkextension/nefilterprovider https://developer.apple.com/documentation/networkextension/n...