4 ms·
Some people think Apple's JIT restrictions standing up to the DMA is a given, but I heavily doubt that will be the case. The DMA allows for security exceptions
by EMIRELADERO 2y ago
Some people think Apple's JIT restrictions standing up to the DMA is a given, but I heavily doubt that will be the case.
The DMA allows for security exceptions only when measures are "strictly necessary and proportionate", Article 6(4). Apple argues that this ban is crucial for security, yet Android permits JIT compilation and maintains robust security on that front for 99% of its user base without significant incidents.
- Rinzler89 2y ago>Apple argues that this ban is crucial for security Foxes argue the ban on chicken wire is crucial for their security.
- teaearlgraycold 2y agoApple built iOS with the assumption that apps can’t use JIT. They can migrate to a new set of constraints, but I’m sure they’re right that right now it’s necessary for security. It could take a while to patch all of the security holes from opening up JIT.
- walterbell 2y agoHow does MacOS survive attacks while supporting JIT and a subsystem for running iOS/iPadOS apps?
- teaearlgraycold 2y agoIt’s a different operating system.
- walterbell 2y agohttps://en.wikipedia.org/wiki/Darwin_(operating_system) https://en.wikipedia.org/wiki/Darwin_(operating_system) Darwin is the core Unix-like operating system of macOS (previously OS X and Mac OS X), iOS, watchOS, tvOS, iPadOS, audioOS, visionOS, and bridgeOS. It previously existed as an independent open-source operating system, first released by Apple Inc. in 2000. It is composed of code derived from NeXTSTEP, FreeBSD, other BSD operating systems, Mach, and other free software projects' code, as well as code developed by Apple.
- teaearlgraycold 2y agoI’m aware. They’re still different.
- leoh 2y agoKernel is largely what matters here
- wiseowise 2y agoSo somehow they managed to create shittier system despite having 30 years of OS building behind their belt is what you’re saying?
- cqqxo4zV46cp 2y ago“Shittier” Is your word, not anyone else’s. Can you really not relate this to any experience you’ve had developing anything? Different goals? Different system gets built. Different trade-offs. This isn’t hard to understand. You’re being overly harsh for ideological reasons.
- meiraleal 2y agoYou are arguing about resources of a company that has an endless amount of it. The limitations mentioned could be changed/"fixed" with no time and effort.
- wiseowise 2y ago> Different goals? Different system gets built. Different trade-offs. This isn’t hard to understand. You’re being overly harsh for ideological reasons. Poor Apple with its virtually unlimited resources. Somehow Google, Microsoft, Linux and Apple themselves managed to make it work with JIT, but Apple can’t do it.
- callalex 2y agoCan you teach me how it’s meaningfully different in terms of securely running a JIT compiler? What components should I be learning about?
- EMIRELADERO 2y agoI doubt that's true because it goes against every modern OS security practice. Apple heavily practices defense-in-depth. Sandboxing, PAC, AMFID, etc. All those are even more onerous than Android. So no, giving away JIT privs wouldn't do much. EDIT: What's with the downvoting?
- teaearlgraycold 2y agoMy understanding comes from what jailbreakers say about the OS, what Apple says, as well as time spent working at Android where people that know what they’re talking about told me about iOS security.
- deaddodo 2y agoYour misunderstanding comes from a group of misinformed individuals than. Or you've made them up. Either way, you're wrong.
- Qwertious 2y ago>Either way, you're wrong. This claim is based on what expertise?
- deaddodo 2y agoThere are about a dozen other responders who agree with said assessment with technical reasonings embedded into their messages. Read those. Suffice to say, I don't feel the need to rehash why the basic premise of "the OS wasn't built to handle JIT apps" is directly contradicted by it, you know, allowing JIT in all but one app. If they offered something of a basic technical assessment or reasoning beyond "I know people", perhaps then I would bother to dig into some credentialed argument. So, in the same way it's not worth delving into "proving God doesn't exist", it's not worth proving how OP clearly has no idea what they're talking about. They bear the burden of their claims, not me.
- mcfedr 2y agoThe no JIT rule is just a rule enforced through the app store review process, so it's not going to part of the security architecture. It could of make some static analysis fail, but there are plenty of ways to do that.
- ant6n 2y agoThere are some tricks to make interpreters very fast.
- deaddodo 2y agoThose tricks are called compilation (whether that be AOT, JIT, or a mix of the two).
- ant6n 2y agoNo, then it’s not an interpreter anymore.
- deaddodo 2y agoYes, that was the point. The tricks to make interpreters fast are to make them not interpreters. This one is already using just about all the tricks in the book to make a "fast" interpreter and it's performance is a drip compared to a JIT version.
- ant6n 2y agoQEMU interpreter uses all the tricks? Very much doubt that. QEMU is a JIT first, built around maximum flexibility, not performance. A dedicated, optimized x86 on ARM interpreter could probably get 20% off the performance of QEMU Jit, if not more.
- kragen 2y agoi wouldn't describe sacrificing 80% of the machine's native performance as 'very fast'. a moped goes 40 km/hour; a ferrari goes 200 km/hour. you're paying for a ferrari but getting a moped
- ant6n 2y agoAn interpreter that runs at 20% native speed would be considered a very fast interpreter. That would be an order of magnitude faster than a „trickle“.