4 ms·
I thought it was interesting that they're using Cydia Substrate to hook into specific third-party apps for monitoring. I wonder if we'll ever see privacy consc
by e28eta 10y ago
I thought it was interesting that they're using Cydia Substrate to hook into specific third-party apps for monitoring.
I wonder if we'll ever see privacy conscious apps using some sort of obfuscation. So that every time you update your app, the attacker will have to reverse-engineer the symbol names again.
It seems like a compile or link time tool could find method call & selector references. As long as your app isn't calling methods using strings, or doing something else tricky, I think it could work.
Or you could just write the app in swift. It's the Objective-C runtime that makes it so easy to intercept method calls.
- SXX 10y ago> I wonder if we'll ever see privacy conscious apps using some sort of obfuscation. Actually Apple can do that already since they have bitcode for many applications. For now it's only required for watchOS and tvOS apps, but might become requirement for every app in future. I suppose it's close to LLVM-bytecode so perfect for obfuscation.
- wepple 10y agoThe attacker could find a way to be in the kernel, or insert a shim between the app and OS if everything was sufficiently obfuscated.
- mikeash 10y agoThe trouble is that nearly every app does "something tricky" because it's so baked into Apple's frameworks. Every UI control calls methods using strings when you interact with it. Key-value coding and observing works extract method names from strings. Core Data uses method names to look stuff up in the underlying storage. And these things are so easy to do that it's pretty common for third-party code to do similar stuff. Reliably figuring out which methods were safe to change would be really tough.