Hacker News new | past | comments | ask | show | jobs | submit login

You don’t have to do any of that for a native Mac app. Signing it is a good idea but not required and you can distribute it from your own website or even from GitHub/Lab where you can tell people it’s not notarized and they’ll need to command click and open it the first time.



In my opinion, this will become harder and harder to do with every release of Windows and MacOS. I wouldn't count on the average customer of these vendors being willing to shop outside of their plaatform's app stores forever.


Does a sizable portion of people shop for apps in the Microsoft or MacOS App Store? I was under the impression that neither are very popular.


> tell people it’s not notarized and they’ll need to command click and open it the first time.

That's not realistic for Apple users who are used to ergonomic software. It's not technically required to notarize, but practically speaking, it is.


It’s really only practical for dev tools or niche open source desktop apps.


The reason that Apple and Microsoft require all this is also that native apps have a lot more access to the system.


This doesn't matter. Notarization doesn't do anything against a dedicated attacker willing to commit illegal acts.

Notarization is supposed to deter malware by a combination of static/dynamic analysis and attaching some real-world legal entity to any signed binary so law enforcement can follow up on if malicious activity is happening.

Analysis is not bulletproof and can be worked around.

The legal entity requirement is also trivial to nullify. At least in the UK, the company registration authority charges a nominal fee (payable by credit card - stolen if necessary) and puts you on the company register. Dun & Bradstreet scrapes that and that's how you get the DUNS number necessary to register for an Apple dev account. All of this is trivial to get through if you don't mind breaking the law and making up a few fake documents and providing a stolen CC (and assuming you're already planning to break the law by distributing malware, this is not a problem).

Finally, even if the "legal entity" bit was bulletproof, law enforcement just doesn't give a shit about the vast majority of online crime anyway.

All of these requirements are just a way to lock down access to the walled garden and put as many roadblocks to laymen trying to make their own software (in favor of big corps) masquerading as security theatre.


Notarization does do things against attackers, yes.

Firstly, stolen CCs tend to get reported especially if you make a big purchase. If you use a stolen CC to buy a developer certificate then it's going to get revoked the moment the real owner notices, and then your apps will be killed remotely by Apple before they've even been detected as malicious.

Still, the big win of notarization is that Apple can track down variants of your malware once it's identified and take them all out simultaneously. They keep copies of every program running on a Mac, so they can do clustering analysis server side. On Windows there's no equivalent of notarization, but the same task is necessary because otherwise malware authors can just spin endless minor variants that escape hash based detection, so virus scanners have to try and heuristically identify variants client side. This is not only a horrific resource burn but also requires the signatures to be pushed out to the clients where malware authors can observe them and immediately figure out how they're being spotted. Notarization is a far more effective approach. It's like the shift from Thunderbird doing spam filtering all on its own using hard-coded rules, to Gmail style server side spam filtering.

> All of these requirements are just a way to lock down access to the walled garden

I've been hearing this for over a decade now. In the beginning I believed it, but it's been a long time and Apple have never made macOS a walled garden like iOS is. There's no sign they're going to do it either. After all, at least some people have to be able to write new apps!


> They keep copies of every program running on a Mac, so they can do clustering

> analysis server side.

Are you sure about this ? I did not give apple permission to keep a copy of my software that I am writing.


Yes you did, if you have notarized your app:

https://developer.apple.com/support/terms/apple-developer-pr...

Section 5.3: "By uploading Your Application to Apple for this digital notary service, You agree that Apple may perform such security checks on Your Application for purposes of detecting malware or other harmful or suspicious code or components, and You agree that Apple may retain and use Your Application for subsequent security checks for the same purposes."


I did not notarize my app. So it doesn't have a copy of my program, which I believe is a subset of every.


Isn’t that something you agree to when you notarize?




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

Search: