Внутри песочницы: как Apple планирует сделать Mac App Store более безопасным

Приближается срок, установленный Apple для вступления в силу нового пункта политики безопасности компании, против которого высказывались в прошлом году многие разработчики – все приложения из ассортимента магазина Mac App Store будут защищены механизмом работы в Sandboxing (песочнице).

Песочница

После открытия Mac App Store в январе 2011 года Apple впервые заявила, что к ноябрю песочница (изолированная программная среда) станет обязательной для всех приложений, продаваемых в магазине. После этого сроки перенесли до начала марта следующего года, отчасти из-за жалоб со стороны многих разработчиков, отчасти из-за проблем в работе самого механизма.

В мобильной платформе Apple iOS с самого начала используется режим песочницы, который предотвращает распространение вирусов, вредоносных программ и решает другие серьезные вопросы безопасности, которые существуют у владельцев мобильных устройств на базе других платформ – таких, как Symbian, Palm OS или Android.

Песочница для безопасности

Вначале Apple начала добавлять функции защитной песочницы в Mac OS X Leopard. Песочница обеспечивает операционной системе контроль над приложением и ограничивает его возможности. Основная защитная задача песочницы – не дать приложению делать то, что оно практически не должно делать, тем самым предотвратив возможные вредоносные действия с его стороны.

Apple включила поддержку режима песочницы в некоторые собственные приложения, идущие в комплекте с OS X, включая Safari Web Content (это помогает уменьшить ущерб от плагина Adobe Flash, когда он находится под угрозой или выходит из строя).

Preview и TextEdit также работают в песочнице: Preview изолирует свой PDF-рендеринг во вторичной песочнице, чтобы свести на нет все возможные угрозы внутри PDF. QuickTime защищает песочницей свои видео-декодеры, решая задачи защиты при помощи VTDecoderXPCService.

С появлением новой Mac OS X Lion системная поддержка режима песочницы усложнилась, чтобы быть используемой в отношении многих сторонних приложений. Изначально Apple предполагала, что режим песочницы будет касаться всех приложений магазина Mac App Store, но потом дала разработчикам отсрочку для изучения некоторых вопросов, которые тогда создавали больше проблем, чем решали. Конечным сроком введения нового правила безопасности в магазин приложений стало 1 марта 2012 года, которое наступит уже через несколько недель.

Система разрешений для приложений

Песочница – это модель безопасности для приложений, которая работает cхоже с файловой системой, основанной на пользовательских разрешениях. Когда пользователь начинает работать с компьютером, у его аккаунта есть определенные ограничения – к примеру, запрещающие ему удалять определенные системные файлы. Песочница делает с приложениями то же самое, что делает система прав доступа к файлам с файлами: она только обеспечивает доступ к некоторым функциям, набор которых определен заранее. Разрешения песочницы называются «entitlements» (но они имеют мало общего с моделью разрешений Android). Существует больше двух десятков разрешений для приложений, находящихся в песочнице Mac OS X Lion, которые дают приложениям разные права – к примеру, возможность читать локальные файлы, прослушивать сетевые соединения, иметь доступ к камере FaceTime для съемки изображений и пр.

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

Защита от повреждений

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

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

Если пользователь пытается открыть файл или перетащить его в приложение, система Mac OS X предполагает, что пользователь сигнализирует о намерении и требует на это разрешения. Apple создала в Mac OS X механизм под названием Powerbox, который позволяет приложениям с режимом запуска в песочнице открывать или сохранять файлы по просьбе пользователя, вместо того, чтобы доверять каждому приложению контроль над файловой системой.

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

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

Сроки приближаются

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

Apple еще не применила режим песочницы для своих приложений iLife и iWorks, сосредоточившись изначально на ограничении рамками песочницы приложений и процессов, которые запускают плагины или кодеки (таких, как Safari, Quick Look, QuickTime и Preview). В следующем месяце все изменится – сроки коснутся как продуктов сторонних разработчиков, так и собственных приложений компании.
Apple также занялась усовершенствованием своих программных пакетов и отдельных приложений поддержкой 64-бит, начав с тех, которые больше всего выиграли от смены архитектуры.

Источник: appleinsider.com