Насколько безопасна macOS Catalina
Случилось то, что должно было когда-нибудь случиться. Приговор, объявленный семь лет назад, приведен в исполнение. Что-то очень важное ушло в прошлое, возможно навсегда. Это не просто еще одна мажорная версия macOS, это решительный шаг в какое-то еще не до конца понятное будущее - хотя некоторые его черты уже видны. И они ужасны, но это на первый взгляд. Взглянем на них еще раз. Отныне, программному обеспечению анонимных авторов путь в macOS закрыт.
Это даже не проблема, это возможность для максимально продвинутых анонимов проявить себя и свои способности на новом поприще. Взлом, проникновение, с соучастием пользователя даже не подозревающего об опасностях которым он или она себя подвергает. Собственно, то чего опасались в 2011-2012 годах, произошло. В феврале 2012 году Apple снизошла до объяснений: Gatekeeper, технологию способную задушить любые проявления свободы если они не были одобрены чиновниками компании, решили внедрять осторожно, в бархатном ее варианте. Было очевидно: на этом они не остановятся. На примере iPhone SDK и iOS было доказано что даже к самым строгим и жестоким ограничениям разработчики легко привыкают, так как игра стоит свеч. App Store на каждом устройстве, приложение тут же становится доступно беспрецедентно широкой аудитории потенциальных клиентов, а то что запрещают приемные комиссии App Store, если вдуматься, не так уж и глупо.
Тем не менее, в 2012 году Mac OS X, плавно превращающаяся в OS X, была островком свободы, где дозволялось все. Бывшие Mac’овские программисты, из-за безумного спроса на программное обеспечение для iOS расставшиеся (на время?) с родной и любимой ОС не прекращали мечтать о возвращении в открытый и привычный мир. Сужу по себе, мечтая о возвращении было легче переносить козни приемщиков App Store, подстраиваться под не всегда удобные требования и ограничения. И вдруг - приемка, ограничение доступа к данным за пределами собственной "песочницы" приложения, запрет на многое еще - приходят и на Mac. Программы вольных разработчиков часто вызывали ужас, их интерфейс был поразительно неудобным, чужим, часто непонятным и непродуманным, но то что умели делать эти программы часто было уникально. Вероятность что вольные авторы потратят свое драгоценное время на переработку программ для не самой (увы) популярной из поддерживаемых ими платформ, что они подчинятся нелепым (с их точки зрения) правилам Mac App Store и будут покорно исправлять проблемные, по мнению оторванных от реальной жизни придурков из его "приемки", была удручающе низкой.
Установка приложений от неустановленных разработчиков на Mac
В 2012 приговор этой свободе был оглашен, но его исполнение было отложено. На какой-то неназванный срок. Привратник и помогающие ему технические и программные средства, потихоньку, готовились к дню "Д". Его несколько раз собирались объявить, но откладывали. В связке с контролирующим конфигурацию чипом-шпионом Apple T2 строгие правила стали бы непреодолимым препятствием на пути цифровой нечисти и проявлений необузданного творчества. В тот раз решение о вводе в действие плана с неизвестным названием принято не было. Но в конце 2018 года группа товарищей, скромно именующая себя "мозгом Apple", решила что время пришло. В macOS Catalina, Привратнику и его товарищам предоставлены самые широкие полномочия. Пока еще не такие как в iOS или в iPadOS, но в этой системе разрешено запускать либо свои собственные приложения, как и в iOS/iPadOS, либо приложения написанные "официальным членом союза писателей", подписаны его уникальной подписью, для получения которой разработчик должен зарегистрироваться в Apple Developer Program. Либо приложения приобретенные в Mac App Store.
У желающих писать программы для macOS теперь только два пути: проектировать свой продукт с учетом требований Mac App Store и, после тщательной проверки, позволить Apple разместить его на виртуальных полках своего магазина, делегировав ей заботы и проблемы не связанные с конструированием и разработкой программного обеспечения, при этом соблюдения правил виртуального магазина обязательно. Или отказавшись от проверки (в полном объеме) и от помощи в дистрибуции и контроле за оплатой покупок, заняться этими вопросами самостоятельно. До macOS Catalina, в этом случае никто и ни в малейшей степени не ограничивал разработчика в его самовыражении. Начиная с macOS Catalina и эту разновидность программного обеспечения будут подвергать проверке.
Проверка осуществляется автоматически, при сборке релизной версии приложения, в Xcode, эта фаза называется "нотариальным заверением релиза", но что в самом деле при этом проверяется, что может стать причиной отказа в благословении подписанного приложения - пока неизвестно. Даже если на первых порах никаких репрессий не будет, ввести их в действие будет легче легкого. В 2012 году запуск анонимных приложений был, теоретически, запрещен. В системных настройках можно было выбрать один из трех режимов: разрешить запуск только приложений из App Store, разрешить запуск только подписанных разработчиком приложений либо разрешить все, оптом. Последний выбор объявили опасным, его не рекомендовали - поэтому на большинстве Mac’ов был выбран именно он. Через несколько лет выбор "разрешить все" из системных настроек убрали, но открыли чуть более умную и недоступную неумелым пользователям лазейку. Открывая приложение с помощью меню пользователь получал возможность разрешить запуск запрещенного приложения, с этого момента его можно было запускать по всякому. Это не вседозволенность в чистом виде, но реальная уязвимость. Клиент добывает где-то, скорее всего в сети, программу которая обещает решить какие-то его проблемы, естественно дает добро на ее бесконтрольный запуск, пробует, говорит "фи" и забывает про нее. Программа анонимная, в ней может быть все что угодно. Это уязвимость. Даже удивительно что ее так долго терпели.
Непроверенные Apple приложения, начиная с macOS Catalina, можно распространять в виде исходных кодов. Для Xcode. Возможно, и для других сред разработки (хотя не факт). Приобретающая сторона открывает проект в Xcode, строит его, при желании вносит в код собственные изменения или дополнения - и пользуется. Неуязвимых в принципе систем нет и не может быть. Я не сомневаюсь что появятся и другие способы нелегального тиражирования непроверенных программ, и что-то вроде jailbreak - но сложностей на пути вредоносных программ станет больше.
Безопасность в macOS Catalina
Теперь всем, кто пишет программное обеспечение для macOS для легального публичного распространения, прийдется регистрироваться в Apple Developer Program (это платный подписной сервис, стоимостью в 99 долларов - кроме сертификата разработчика который необходим для генерации подписи, права отправлять в соответствующий App Store свои программы для всех "яблочных" платформ, членство в программе предоставляет целый ряд полезных привилегий - доступ к бета-версиям операционных систем и программных продуктов Apple, допуск на закрытые форумы разработчиков Apple где на вопросы, время от времени, отвечают сотрудники Apple и еще некоторые.
Почему именно сейчас? Ответа у меня нет, просто сообщу несколько фактов, возможно уже известных вам: одновременно с этим, все "яблочные" платформы переходят на новую файловую систему APFS. Apple File System. Буква "P", вроде бы, обозначает вторую букву в слове Apple. Хорошая компания, почему бы не проявить к ней чуть больше уважения чем ко всем другим и не обозначить ее первыми двумя буквами? А если это Apple Protected File System, о чем мы пока не должны догадываться? Apple T2, чип с подозрительным набором функций, и берущий на себя все больше и больше забот? Не медленный ли это переход на ARM-процессоры? Catalyst - стираем еще одну границу между платформами. И многое другое. К чему бы это все?
В macOS Catalina у Привратника изменились правила работы, приложения неизвестных авторов теперь запрещены. Безусловно и абсолютно. Пока еще разработчик имеет право распространять свои приложения самостоятельно, не через Mac App Store, не связывая свою фантазию ограничениями онлайн-магазина. Но, чтобы программное обеспечение могло работать в macOS Catalina, автор должен зарегистрироваться в Apple Developer Program (это "платный сервис", за 99 долларов в год) и подписывать свои программы, чтобы в случае какого-нибудь безобразия автора можно было найти и наказать. Такой способ почти бесконтрольного распространения стороннего программного обеспечения дебютировал в том же 2012 году, рекомендовался Apple как отличный компромисс, и до сих пор никаких особых неудобств (кроме необходимости ежегодно продлевать членство в Apple Developer Program) не доставлял. Тем кто берет на себя ответственность за свой софт и предпочитает распространять его самостоятельно, проходить проверку в App Store, как и прежде, не нужно. Но без "нотариальной проверки" со стороны Apple подписать свое творение уже не удастся. Что проверяет Apple - неизвестно. Пока никакой информации о претензиях к программам со стороны "фруктовых нотариусов" нет. Но теперь, в любой момент, при первом же "ахтунге", Apple запросто может ввести любые ограничения.
Это не единственное изменение в системе безопасности. Привратник, начиная с macOS Catalina, не ограничивается проверкой документов - он "просвечивает" внутренности приложений. Привратник не единственный сотрудник системы безопасности, который все время на посту - Mac’и с macOS Catalina, если верить декларациям Apple, будут в большей безопасности, чем раньше.