4 ms·
Given its an open source app, it should be reasonably easy for the censor to reverse engineer the algorithmically generated domains. Frequent tiny updates would
by theintern 8y ago
Given its an open source app, it should be reasonably easy for the censor to reverse engineer the algorithmically generated domains. Frequent tiny updates would be an interesting solution though. Now that most mobile apps can deliver just deltas to save bandwidth it'd be viable.
- zzzcpan 8y agoI realize now, that it's possible to even dynamically deliver a bytecode of a domain generating algorithm itself or pretty much any circumvention logic by embedding a tiny interpreter into the app.
- Operyl 8y agoDoesn't Apple explicitly get irritated when you do this kind of thing?
- ezfe 8y agoApple prohibits certain things but interpreters are not one of those. See Pythonista and OpenTerm as examples: https://itunes.apple.com/us/app/pythonista-3/id1085978097?mt=8 https://itunes.apple.com/us/app/pythonista-3/id1085978097?mt... https://itunes.apple.com/us/app/openterm/id1323205755?mt=8 https://itunes.apple.com/us/app/openterm/id1323205755?mt=8
- Operyl 8y agoYeah, but as far as I know, loading code into said interpreters in a way that bypasses their code review process is a grey area.
- caf 8y agoYou don't need to deliver bytecode, just a new seed for the algorithm. Even 64 bits is more than sufficient to ensure that they can't enumerate all possible seeds.
- zzzcpan 8y agoSeeds don't impose human costs of reverse engineering though. Which could be important in some cases, since we are up against state actors. But yeah, having seeds sharded per id/phone_number same way I proposed above could make it pretty much unblockable.