3 ms·
Let's talk about targeting specific users in the scenario where you've kept your server-side API separate from your static front-end code. The compromised fron
by williamcotton 12y ago
Let's talk about targeting specific users in the scenario where you've kept your server-side API separate from your static front-end code.
The compromised front-end code server would need to know that specific users host and client in order to target a specific user. Users are logging in to the server-side API. They all get the same front-end code.
If a third party site tested from a variety of hosts using a variety of spoofed client information it would be very probable for it to detect code that targeted broader user fingerprints.
You're right in that this wouldn't protect against targeted individuals. But neither does an executive order from the state.
Web applications are an orchestration of two separate pieces of software that can work together using multi-factor authorization and signature schemes to offer a substantial amount of enhanced security when client-side crypto is properly utilized.
- schoen 12y agoIn this threat model it seems unreasonable to me to rely on a particular front-end/back-end separation architecture as a main thing that protects users. If the two are not separated this way, or the back-end can cause redirects or can inject Javascript at all, the users won't be protected. I like the "test from a variety of hosts" approach better, and I wonder what kinds of tools exist or will exist that will facilitate this -- and whether some web app developers are willing to commit that their architectures will support it (that the front-end code doesn't do an eval, that the front-end actually architecturally treats the back-end as untrusted, and that users can expect to get consistent page contents every time they visit the service, even with a different user-agent or from a different netblock). I'm not trying to make fun; I want to see this happen. It seems like a big change from existing practice!
- williamcotton 12y agoThe front-end/back-end separation architecture that I'm referring to is used for internal systems checksums. We're using it to make sure that the front-end code is still what we think it is... the main threat model it protects against is a front-end developer on the team having their machine compromised and an attacker deploying front-end code that wasn't signed by someone with access to the back-end code. What I like the most about browser security is that it tackles this stuff head-on. There is no more thoroughly tested environment that runs untrusted third-party code. Code signing, checksums, signed software updates... all of these are most definitely issues on every other platform. They're the most difficult to protect against on the web which makes the web the best place to try and figure them out. I'd really like to see a few additions to the Web Crypto API. Some sort of key management mechanism would be wonderful. And of course some sort of native mechanism to deal with signed code and checksums. As well as getting FIDO U2F standardized.