Как MacOS App Sandboxing защищает пользователей



Как MacOS App Sandboxing защищает пользователей

Появившаяся в 2007 году и требуемая к 2012 году, песочница — это инструмент, используемый macOS для ограничения ущерба, который может нанести взломанное приложение. Apple утверждает, что хотя «песочница» приложения не предотвращает атаки на ваше приложение, она сводит к минимуму вред, который может принести успешное приложение. «Песочница» приложения macOS защищает пользователей, ограничивая количество проблем, которые может вызвать приложение.

Что такое песочница приложения macOS?

Как MacOS App Sandboxing защищает пользователей

У каждого приложения есть своя область для игры: песочница. Если приложение хочет выйти за пределы своей изолированной программной среды, оно должно запросить разрешение у операционной системы. В зависимости от настроек песочницы ОС будет либо отклонять, либо утверждать запрос приложений, предоставляя как можно меньше конкретной информации для его выполнения.

Подумайте об автомобиле. Водитель защищен множеством функций безопасности, таких как антиблокировочная система, подушки безопасности, зоны сминания и многое другое. В 2007 году, во время внедрения App Sandboxings, аналогичных компьютерных систем не было. Как было сказано во вступительной презентации, где были ремни безопасности для компьютеров? Песочница защищает пользователей, как автомобили, защищает их водителей: устранение сбоев с помощью систем уменьшения ущерба. Независимо от того, вызваны ли они злонамеренной активностью или ошибками кодирования, ущерб уменьшается.

Поскольку песочница ограничивает возможности приложений, она может ограничивать свободу разработчика. Приложения-песочницы работают медленнее, и их разработка занимает больше времени.Благодаря огромным возможностям Mac, ограничения песочницы могут оказать огромное влияние на совместимость различных приложений. В результате опытные пользователи часто вынуждены выбирать приложения, работающие вне песочницы, либо из-за проблем с производительностью, либо из-за функциональности.

Как работает песочница в приложении?

Песочница основана на принципе наименьших привилегий. Короче говоря, системы могут делать то, что им нужно, но не более того. Ограничивая каждую часть системы выполнением только заявленной цели, вы уменьшаете вероятность того, что ваше приложение будет взломано. Например, у приложения-фонарика нет причин иметь доступ к вашему списку контактов.

Приложения могут выходить за пределы своей изолированной программной среды, но только с разрешения операционной системы. Возьмите диалоговое окно «Сохранить и открыть» в macOS. Приложение внутри своей песочницы не может получить прямой доступ к ресурсам файловой системы на вашем жестком диске. Например, он не может нарисовать открытую панель в ~ / Documents. Вместо этого приложение должно запросить API-интерфейс Powerbox с классами NSOpenPanel и NSSavePanel для доступа к панели.

Приложение не может видеть, что происходит внутри Powerbox напрямую. Только открытый или сохраненный файл будет доступен для приложения. Таким образом, приложения могут выполнять критические функции без лишнего риска.

Эта функциональность активируется с помощью права (в частности, com.apple.security.files.user-selected.read-write). Разработчики приложений устанавливают права, которые объявляют, что приложение делает.На основе заявленных прав операционная система разрешает приложению ограниченный по функциональности уровень функциональности.

Этот мыслительный процесс лежит в основе всей модели и механизма изолированной среды приложения: приложения должны объявлять намерение и запрашивать разрешение у ОС босс высокого уровня для выполнения чего-либо опасного.

Приложения в песочнице против приложений без песочницы

С 1 июня 2012 года все сторонние приложения, распространяемые через Mac App Store, должны быть помещены в песочницу. Несмотря на то, что «песочница» предоставляет широкий спектр функциональных возможностей приложения, вы обнаружите, что приложения Mac App Store часто более ограничены, чем их компоненты без песочницы.

Некоторые разработчики даже поддерживают две версии: полнофункциональное приложение для прямой загрузки и версию для Mac App Store. Благодаря большей сложности разработки песочницы, добавление новых функциональных возможностей в приложение становится более трудным — если эта функциональность даже разрешена ОС, то есть.

В то время как приложения с изолированной программной средой могут воспользоваться преимуществами распространения Mac App Store Вы можете догадаться, насколько мы ценим это. Песочница также может быть расширена с разрешениями безопасности. Хотя приложение не может включить разрешения доступа для себя, оно может попросить пользователя сделать это.

Чтобы увидеть, какое из ваших приложений находится в изолированной программной среде, откройте Activity Monitor и щелкните правой кнопкой мыши заголовки столбцов для добавления песочницы в окно.

Некоторые приложения просто не могут существовать в песочнице.Фактически, песочница предотвращает множество ценных случаев использования. «Песочница» предотвращает взаимодействие между приложениями, наблюдение или изменение, существенно ограничивая взаимодействие приложений. Общесистемные ярлыки, такие как TextExpander, полностью запрещены, так как этот уровень функциональности может быть разрешен песочницей.

Заключение

Хотя обещание, песочница приложения macOS не была выполнена должным образом. Это ограничивало уникальные возможности продаж приложений Mac, такие как скорость и расширенные функциональные возможности. Приложения, работающие вне песочницы, почти всегда более эффективны и быстрее. С точки зрения опытных пользователей, мои самые используемые приложения не в песочнице.

Такие приложения, как TextExpander, SnagIt и TotalFinder, имеют решающее значение для моей повседневной работы. Чтобы избежать подобного широкого распространения, будущим системам безопасности требуется гибкость и мощность, сбалансированная с прозрачностью.

Как MacOS App Sandboxing защищает пользователей
Метки:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *