{"id":24194,"date":"2019-02-05T16:29:24","date_gmt":"2019-02-05T21:29:24","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=24194"},"modified":"2020-07-03T16:49:10","modified_gmt":"2020-07-03T20:49:10","slug":"mojave-privacy-protection-aftermath","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2019\/02\/05\/mojave-privacy-protection-aftermath\/","title":{"rendered":"Mojave Privacy Protection Aftermath"},"content":{"rendered":"<p><a href=\"https:\/\/www.noodlesoft.com\/blog\/2019\/01\/29\/aeftermath\/\">Paul Kim<\/a>:<\/p>\n<blockquote cite=\"https:\/\/www.noodlesoft.com\/blog\/2019\/01\/29\/aeftermath\/\">\n<p>Months later, the issues stopped (or at least people stopped reporting them). I can&rsquo;t say whether some sort of bug was fixed or if people are just now more familiar with how all the new privacy protections work. I&rsquo;m leaning towards a bug of some sort as the reports have stopped altogether; I&rsquo;d expect the occasional report of confusion if it was just a knowledge thing.<\/p>\n<p>[&#8230;]<\/p>\n<p>Regarding unit tests, it seems that changing my unit tests to run within an app, and adding the appropriate usage strings to the test app, was enough to get them to run.<\/p>\n<p>[&#8230;]<\/p>\n<p>At least, there seems to be one way as a dev to be able to make sense of things. Accessing protected directories (for instance, by using <code>access()<\/code>) will fail with an <code>EPERM<\/code> error. This differs from accessing a directory protected by UNIX permissions. In those cases, you will get an <code>EACCESS<\/code> error. While that&rsquo;s great for differentiating between the two cases what&rsquo;s unclear to me is if there are other situations, outside of Mojave privacy protections, that would give me an <code>EPERM<\/code> error.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/eclecticlight.co\/2019\/02\/03\/last-week-on-my-mac-the-secrecy-of-privacy\/\">Howard Oakley<\/a>:<\/p>\n<blockquote cite=\"https:\/\/eclecticlight.co\/2019\/02\/03\/last-week-on-my-mac-the-secrecy-of-privacy\/\">\n<p>Imagine playing a team sport, and midway through a match the referee tells you that all the rules have changed, but they&rsquo;re not telling you how, just that what you have been doing so far has been banned &#x2013; in part.<\/p>\n<p>[&#8230;]<\/p>\n<p>For the last five months, I have looked high and low in Apple&rsquo;s developer and user documentation for an official account of this, and information as to how TCC determines the Attribution Chain, which in turn informs us &#x2013; developers, sysadmins and users alike &#x2013; which app or tool we should add to the Full Disk Access list.<\/p>\n<p>You already know the answer: Apple has not even mentioned any of this. Mojave&rsquo;s privacy protection is undocumented, by Apple at least.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/dmartincy\/status\/1091116170206478336\">Daniel Mart&iacute;n<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/dmartincy\/status\/1091116170206478336\">\n<p>Here&rsquo;s an interesting <a href=\"https:\/\/support.apple.com\/en-us\/HT209028\">Mojave support document<\/a>. I didn&rsquo;t know that you can use a configuration profile with the &ldquo;SystemPolicyAllFiles&rdquo; key set to automatically grant full disk access to apps. Convenient!<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/eclecticlight.co\/2019\/02\/01\/solving-problems-with-mojaves-privacy-protection\/\">Howard Oakley<\/a>:<\/p>\n<blockquote cite=\"https:\/\/eclecticlight.co\/2019\/02\/01\/solving-problems-with-mojaves-privacy-protection\/\">\n<p>Some of the most intractable problems in Mojave are those arising from its new privacy protection. The <strong>Privacy<\/strong> pane in <strong>Security &amp; Privacy<\/strong> and the command tool <code>tccutil<\/code> intentionally give users, sysadmins and developers almost no help. Most of the lists in the Privacy pane aren&rsquo;t directly controlled by the user, and all <code>tccutil<\/code> seems able to do is wipe the contents of those lists. When you have a problem, you&rsquo;re stuffed.<\/p>\n<p>[&#8230;]<\/p>\n<p>I have now extended my free app Taccy, which already helps you examine entitlements and settings in an app, to provide customised access to the unified log which should make troubleshooting privacy control a great deal easier. If you&rsquo;re familiar with Cirrus, which does the same for iCloud, then you&rsquo;ll already be familiar with this new feature.<\/p>\n<\/blockquote>\n\n<p>I&rsquo;ve had lots of customers try to give an app Automation access or Full Disk Access, but find that it just doesn&rsquo;t work or doesn&rsquo;t stick. <a href=\"https:\/\/c-command.com\/spamsieve\/help\/security-privacy-acce\">This page<\/a> from the SpamSieve manual documents the different levels of resets that you can do to fix the problem: <code>tccutil<\/code>, manually deleting the TCC database (requires temporarily turning off System Integrity Protection), and reinstalling macOS. These are crude remedies, but fortunately they do work.<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2018\/09\/10\/mojaves-new-security-and-privacy-protections-face-usability-challenges\/\">Mojave&rsquo;s New Security and Privacy Protections Face Usability Challenges<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2018\/08\/31\/aedeterminepermissiontoautomatetarget-added-but-aepocalyse-still-looms\/\">AEDeterminePermissionToAutomateTarget Added, But AEpocalyse Still Looms<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2018\/06\/28\/apple-event-sandboxing-in-macos-mojave-lacks-essential-apis\/\">Apple Event Sandboxing in macOS Mojave Lacks Essential APIs<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2018\/08\/23\/apple-events-usage-description\/\">Apple Events Usage Description<\/a><\/li>\n<\/ul>\n\n<p id=\"mojave-privacy-protection-aftermath-update-2019-02-07\">Update (2019-02-07): <a href=\"https:\/\/isaiah.micro.blog\/2019\/02\/04\/stacks-dev-journal.html\">Isaiah Carew<\/a>:<\/p>\n<blockquote cite=\"https:\/\/isaiah.micro.blog\/2019\/02\/04\/stacks-dev-journal.html\">\n<p>Mojave includes many more system level protections to keep out malware. But with this security comes some annoying side effects. One that hit me recently is that I can&rsquo;t attach Instruments to some apps. This has made plugin development difficult, particularly because RapidWeaver is one of those apps.<\/p>\n<\/blockquote>\n\n<p id=\"mojave-privacy-protection-aftermath-update-2019-02-12\">Update (2019-02-12): <a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/privacy-protection-bypass-flaw-in-macos-gives-access-to-browsing-history\/\">Sergiu Gatlan<\/a>:<\/p>\n<blockquote cite=\"https:\/\/www.bleepingcomputer.com\/news\/security\/privacy-protection-bypass-flaw-in-macos-gives-access-to-browsing-history\/\">\n<p>In that post, he also mentioned privacy issues present in the implementation&nbsp;of the&nbsp;\/usr\/bin\/tccutil&nbsp;tool, as well as the possibility to piggyback other apps who have been previously granted access by the user to access sensitive data or locations.\n\nThe Automator&nbsp;issue was fixed by Apple with the release of macOS&nbsp;Mojave&nbsp;10.14.3 Supplemental Update on&nbsp;February 7, but the other two are still unpatched.<\/p>\n<\/blockquote>\n\n<p id=\"mojave-privacy-protection-aftermath-update-2019-02-27\">Update (2019-02-27): See also: <a href=\"https:\/\/twitter.com\/bdkjones\/status\/1098161006650380288\">Bryan Jones<\/a> (via <a href=\"https:\/\/twitter.com\/gruber\/status\/1099091150479212544\">John Gruber<\/a>).<\/p>\n\n<p id=\"mojave-privacy-protection-aftermath-update-2019-06-20\">Update (2019-06-20): <a href=\"https:\/\/twitter.com\/peternlewis\/status\/1135801919564201985\">Peter N Lewis<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/peternlewis\/status\/1135801919564201985\">\n<p>So I have descended to the point of adding specific assistance for Mojave security setting bugs. &ldquo;yes, yes, I know you told the system to grant Keyboard Maestro permission, but Mojave does not really think you meant it&rdquo;.  Sigh.<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Paul Kim: Months later, the issues stopped (or at least people stopped reporting them). I can&rsquo;t say whether some sort of bug was fixed or if people are just now more familiar with how all the new privacy protections work. I&rsquo;m leaning towards a bug of some sort as the reports have stopped altogether; I&rsquo;d [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2019-02-05T21:29:28Z","apple_news_api_id":"4324b6ce-5350-43d4-b818-bd213d06f8db","apple_news_api_modified_at":"2020-07-03T20:49:14Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAABg==","apple_news_api_share_url":"https:\/\/apple.news\/AQyS2zlNQQ9S4GL0hPQb42w","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[164,30,1609,355,71,1235,1960],"class_list":["post-24194","post","type-post","status-publish","format-standard","hentry","category-technology","tag-documentation","tag-mac","tag-macos-10-14","tag-privacy","tag-programming","tag-system-integrity-protection","tag-transparency-consent-and-control-tcc"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/24194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=24194"}],"version-history":[{"count":7,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/24194\/revisions"}],"predecessor-version":[{"id":25735,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/24194\/revisions\/25735"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=24194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=24194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=24194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}