Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It is, from an Apple developer guidelines point of view. They have detailed docs on what situations to avoid[0] in order to elevate privaleges as safe as possible (ie: to not leave gaping holes). Granted, the best solutions they propose are not trivial to implement. Like installing a signed minimal attack surface helper that communicates over secure RPC to execute privileged functions (also don't forget to sanitise your inputs). Or having your App audited and signed so your App can access privileged Frameworks and API's (which means you have to shell out at least $100/y for a developer license for your open-source project).

All in all Apple does their best to provide the mechanisms but they are not necessary easy or trivial (w're dealing with the topic of security so what's to expect). Also with every step Apple takes to bind things down there is a public outcry that they are restricting peoples freedom in installing custom applications and pushing everyone into the Appstore ecosystem.

This of course doesn't excuse bad developer practices, but often it's the choice of doing things right or not being able to do them at all (never meeting your deadlines).

I had the pleasure of implementing one of the suggested privilege escallation systems in a pet project[1] and it was a fun puzzle for me. But I can tell you it will be a PITA if you solve this problem under pressure as (even though Apple provides some tooling to verify everything [2]) it's really hard to figure out if all moving components are setup right for everything to work and to debug any issues.

[0] https://developer.apple.com/library/archive/documentation/Se...

[1] https://github.com/aequitas/macos-menubar-wireguard/

[2] https://developer.apple.com/library/archive/samplecode/SMJob... https://github.com/brenwell/SMJobBless-Demo



The tweet is not about privilege escalation, though, just the fact that signed code can invoke unsigned code.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: