News for hackers. Stuff that matters.
Re:Rethinking the App Store by threeseed on Wednesday August 26, 2020 @05:15AM (#24280640)
Part of Apple's security does in fact come from the curation process.

Access to private APIs for example is not preventable at runtime due to the way Objective-C works.

And the ability to change payment screens etc at runtime has always been possible. But Apple simply bans the developer and so instances of this happening in the wild have been basically non-existant.

Re:Rethinking the App Store by realusername on Wednesday August 26, 2020 @05:33AM (#24280755)
> Access to private APIs for example is not preventable at runtime due to the way Objective-C works.

That's on Apple side to fix this, you can compare that to the browser which has a proper sandbox model without private APIs.

Re:Rethinking the App Store by saagarjha on Wednesday August 26, 2020 @01:52PM (#24285127)
Apple's browser sandbox uses iOS-private APIs to work, plus it runs in a separate process which again is not something normal apps can do. Nor can Apple–UI frameworks all but have to be in-process and there is nothing you can do to prevent people from calling into it in unintended ways.
Re:Rethinking the App Store by kalleboo on Wednesday August 26, 2020 @05:22AM (#24280678)
Access to private APIs is also impossible to prevent in screening since it’s trivial to obfuscate
Re:Rethinking the App Store by threeseed on Wednesday August 26, 2020 @05:42AM (#24280825)
Not sure if it's impossible but from experience it's very difficult to bypass Apple's screening process.

They can class-dump the Mach-O binary, disassemble and inspect the performSelector: calls or even just run the apps in an ARM emulator and watch for alarms whenever the reviewer manually goes through the app.

Re:Rethinking the App Store by saagarjha on Wednesday August 26, 2020 @01:50PM (#24285101)
> from experience it's very difficult to bypass Apple's screening process

From experience, it is trivial to bypass review. Trivial.

> They can class-dump the Mach-O binary, disassemble and inspect the performSelector: calls or even just run the apps in an ARM emulator and watch for alarms whenever the reviewer manually goes through the app.

The vast majority of apps don't go through anything close to this. At most, Apple runs a class-dump equivalent on every binary, nothing more–and you can even see it catch legitimate selectors every so often! If you think about it, this isn't surprising, because you need to have a (large) team of actual reverse engineers do this kind of thing or set up a good automated malware analysis platform, both of which Apple is fairly behind at.

Re:Rethinking the App Store by saagarjha on Wednesday August 26, 2020 @01:54PM (#24285149)
Screening private API fundamentally has nothing to do with how Objective-C works and everything to do with leaving private API out in places where an application can call them–the same process that an app is running code in. Switching away from Objective-C is not going to solve this problem.