Comments 28
Или DNS по имени «api.apple-cloudkit.com» будет возвращать «0.0.0.0»?
Если прям на маке поставить фаервол и заблокировать все сетевые запросы от демона syspolicyd то запросы отправляться не будут. Думаю, если на роутере заблокировать, то примерно то же самое.
(не пользуюсь macOS, мимо проходил)
В macOS системные демоны лучше не прибивать. Один раз я прибил kerberos демон, при том что его вообще не использую, компьютеру помог только хард резет — иначе система просто уходила в бесконечную загрузку.
developer.apple.com/videos/play/wwdc2019/703/#
So when a user downloads your stapled software and double-click it to launch it, the gatekeeper will perform a verification. It'll check the local ticket and it will also reach out to the Notary Service via CloudKit to check for a ticket also.
Этот механизм можно обойти, если добавить терминал и IDE в Developer Tools в настройках безопасности. Правда, появляется этот пункт, похоже, только после установки Xcode.
Что интересно, в будущем Apple вообще планирует запретить запуск не прошедших нотаризацию программ.
А почему в будущем? В цитате упоминается 10.15, то есть уже вышедшая Catalina.
tarik02 : ~ echo $'#!/bin/sh\necho Hello' > /tmp/test.sh && chmod a+x /tmp/test.sh
tarik02 : ~ time /tmp/test.sh && time /tmp/test.sh
Hello
/tmp/test.sh 0,00s user 0,01s system 87% cpu 0,009 total
Hello
/tmp/test.sh 0,00s user 0,01s system 81% cpu 0,011 total
tarik02 : ~ echo $'#!/bin/sh\necho Hello2' > /tmp/test.sh && chmod a+x /tmp/test.sh
tarik02 : ~ time /tmp/test.sh && time /tmp/test.sh
Hello2
/tmp/test.sh 0,00s user 0,00s system 75% cpu 0,007 total
Hello2
/tmp/test.sh 0,00s user 0,00s system 78% cpu 0,007 total
tarik02 : ~ echo $'#!/bin/sh\necho Hello3' > /tmp/test2.sh && chmod a+x /tmp/test2.sh
tarik02 : ~ time /tmp/test2.sh && time /tmp/test2.sh
Hello2
/tmp/test2.sh 0,00s user 0,01s system 78% cpu 0,010 total
Hello2
/tmp/test2.sh 0,00s user 0,00s system 80% cpu 0,008 total
tarik02 : ~ echo $'#!/bin/sh\necho Hello3' > /tmp/test3.sh && chmod a+x /tmp/test3.sh
tarik02 : ~ time /tmp/test3.sh && time /tmp/test3.sh
Hello3
/tmp/test3.sh 0,00s user 0,00s system 80% cpu 0,008 total
Hello3
/tmp/test3.sh 0,00s user 0,00s system 76% cpu 0,008 total
При этом, попробовал для разных запусков отключить интернет, или подключить более медленный. macOS Catalina 10.15.4
Да, Xcode установлен и приложение терминала включено тут. Но я тестировал это в iTerm2 (хотя попробовал отключить приложение отсюда и протестить в приложении терминала). Возможно, нужна перезагрузка, или что-то ещё где-то отключить.
Да, но нет. Чтобы приложение появилось в том списке, что на скрине, нужно как минимум перейти в настройки, найти нужный пункт, разблокировать настройки, введя пароль, выбрать приложение и дать ему разрешение. Называть это поведение уязвимостью, это словно называть уязвимостью присутствие режима администратора в Windows, или root в Windows/macOS.
Это не помешает пиратить под MacOS?
Судя по моему опыту, пока что не мешает. Теоретически, они смогут блокировать код по хешу, но я очень сомневаюсь в эффективности такого решения. По моему, легко обойти. Начиная от временного отключения интернета, заканчивая маленьким патчингом бинарника.
Нет, нельзя. Хеш — односторонняя функция. Если бы можно было, то вся современная криптография, включая криптовалюты, накрылась бы медным тазом. (Вообще можно, но для этого нужно нереально большое количество времени. Например, в большинстве криптовалют подбирают число, которое нужно добавить к данным, чтобы их хеш содержал хотя бы 30 нулей в бинарной записи, при том, что весь хеш (на примере sha256) содержит 256 бит. Подбор каждого следующего подходящего хеша усложняется примерно с экспоненциальной сложностью.).
del
Тормозит Mac OS? — Catalina проверяет любой неподписанный код через интернет при запуске