←back to thread

MacOS Catalina: Slow by Design?

(sigpipe.macromates.com)
2031 points jrk | 1 comments | | HN request time: 0.203s | source
Show context
brendangregg ◴[] No.23277837[source]
Adding network calls to syscalls like exec() is utterly insane. This road can lead to bricked laptops where you can't run anything to fix it (imagine an unexpected network error that the code doesn't handle properly). And crackers will just use ways to overwrite running instruction text to avoid the exec().

The comments on the article are annoying: it good that there's a mini way to reproduce, but please, use some further debugging like tcpdump (it still exists on osx, right?). Last time I summarized osx debugging was https://www.slideshare.net/brendangregg/analyzing-os-x-syste...

I'd also stress test it: generate scripts in a loop that include random numbers and execute them.

replies(5): >>23278280 #>>23279465 #>>23279751 #>>23279958 #>>23303509 #
xvector ◴[] No.23278280[source]
There is no excuse for this except for sheer, utter incompetence. Everyone involved in writing and shipping this should be ashamed of themselves.
replies(3): >>23278582 #>>23278927 #>>23279035 #
drvdevd ◴[] No.23278927[source]
This is what I scrolled all the way down this thread for - to see if anyone thinks this is a good design/security decision on Apples part. I’m trying to understand what the reasoning is for this particular decision and if it actually makes the OS more secure in any meaningful way? Or does it actually- just degrade performance with very limited benefits? Are there any real benefits to this VS current security design in popular Desktop Linux distros at this point?
replies(2): >>23279051 #>>23279476 #
saagarjha ◴[] No.23279476[source]
It checks that executables have been notarized by Apple? I can't say I really think notarization is great, but I think it's clear from their perspective how it would be beneficial?
replies(1): >>23279758 #
drvdevd ◴[] No.23279758[source]
Sure. But as Brendan Gregg pointed out in his comment - doing this at the level of exec() on a UNIX-like OS is ... a questionable technical choice to say the least.

What’s the Linux equivalent of “notarization”? I’m not sure. Of course there’s probably more than one answer to that - let’s just taking signing packages as an example.

In theory Apple could put their weight behind vetting some of the popular open source packages perhaps? Or delegate that to the maintainers of those repositories and make them trusted? Like homebrew, for example (maybe a poor example, but you see how I’m trying to compare this with Linux...)

This is after all, what actually makes macOS useful to people on the command line 99% of the time, anyway.

So anyway, I agree on the surface it seems like this might be beneficial to Apple, but it doesn’t appear to be well considered.

They could invest more time in better sandbox and/or container type features that let people define some of their own more granular security boundaries. But they aren’t I guess? What are they doing here?

replies(2): >>23280794 #>>23280841 #
john_alan ◴[] No.23280794[source]
Watching the notarization video from WWDC last year they explicitly said it wouldn’t affect command line apps.
replies(1): >>23281271 #
saagarjha ◴[] No.23281271[source]
I believe that some of the problems here have actually started affecting command line apps in Catalina.
replies(1): >>23281832 #
1. john_alan ◴[] No.23281832[source]
Only if you don't specify your terminal as a dev tool