О тестовой среде приложения
Непоигравшее в песочнице приложение имеет полные права пользователя, который выполняет то приложение и может получить доступ к любым ресурсам, к которым может получить доступ пользователь. Если то приложение или платформы, против которых это соединяется, содержат дыры в системе безопасности, атакующий может потенциально использовать те дыры для взятия под свой контроль того приложения, и при этом, атакующий получает возможность сделать что-либо, что может сделать пользователь.
Путем ограничения доступа к ресурсам на основе на приложение Тестовая среда приложения обеспечивает последнюю строку защиты против хищения, повреждения или удаления пользовательских данных, если атакующий успешно использует дыры в системе безопасности в приложении или платформах, это соединяется против.
Тестовая среда приложения является технологией управления доступом, предоставленной в OS X, осуществленном на уровне ядра. Его стратегия является двукратной:
Тестовая среда приложения позволяет Вам описать, как Ваше приложение взаимодействует с системой. Система тогда предоставляет Вашему приложению доступ, это должно было сделать свое задание, и не больше.
Тестовая среда приложения позволяет пользователю прозрачно предоставлять Вашему приложению дополнительный доступ посредством Открытого и Сохранять диалоговые окна, перетаскивание и другое знакомое взаимодействие с пользователем.
Сразу
На основе простых принципов защиты Тестовая среда приложения обеспечивает сильную защиту против ущерба от вредоносного кода. Элементы Тестовой среды приложения являются контейнерными каталогами, правами, определенными пользователями полномочиями, разделением полномочия и осуществлением ядра. Вам решать понять эти элементы и затем использовать Ваше понимание для создания плана относительно принятия Тестовой среды приложения.
После того, как Вы понимаете основы, смотрите на Ваше приложение в свете этой технологии безопасности. Во-первых, определите, подходит ли Ваше приложение для игры в песочнице. (Большинство приложений.) Тогда разрешают любые несовместимости API и определяют, в каких правах Вы нуждаетесь. Наконец, полагайте, что применение разделения полномочия максимизирует защитное значение Тестовой среды приложения.
Некоторые местоположения файловой системы, что Ваше использование приложения отличается при принятии Тестовой среды приложения. В частности Вы получаете контейнерный каталог, который будет использоваться для файлов поддержки приложений, баз данных, кэшей и других файлов кроме пользовательских документов. OS X и XCode поддерживают миграцию файлов от их устаревших расположений до Вашего контейнера.
Как использовать этот документ
Для подъема и работающий с Тестовой средой приложения выполните учебное руководство в Быстром запуске Тестовой среды приложения. Прежде, чем поиграть в песочнице приложение Вы намереваетесь распределить, быть уверенными, что Вы понимаете Тестовую среду приложения подробно. Когда Вы будете готовы начать играть в песочнице новое приложение или преобразовывать существующее приложение для принятия Тестовой среды приложения, считайте Разработку для Тестовой среды приложения. Если Вы обеспечиваете новую, поигравшую в песочнице версию своего приложения пользователям, уже выполняющим версию, не поигравшуюся в песочнице, считайте Миграцию Приложения в Песочницу.
Предпосылки
Перед чтением этого документа удостоверьтесь, что Вы понимаете место Тестовой среды приложения и подписывания кода в полном процессе разработки OS X путем чтения Руководства по программированию Приложения Mac.
См. также
Для дополнения включения ущерба, предоставленного Тестовой средой приложения, необходимо обеспечить первую строку защиты путем принятия безопасных методов кодирования всюду по приложению. Чтобы учиться как, считайте Обзор безопасности и Безопасное Руководство по Кодированию.
Важный шаг в принятии Тестовой среды приложения запрашивает права на Ваше приложение. Для получения дополнительной информации на всех доступных правах, посмотрите Дающую право Ключевую Ссылку.
Можно улучшить преимущества Тестовой среды приложения в полнофункциональном приложении путем реализации разделения полномочия. Вы делаете это использование XPC, реализация OS X межпроцессного взаимодействия. Для изучения подробных данных использования XPC считайте Руководство по программированию Демонов и Служб.