Взгляните на те приложения, что вы наиболее часто используете на своём ПК. Скорее всего, большинство из них, начиная от веб-браузера и заканчивая более специализированным софтом, имеют возможность соединения с интернетом. Эти программы, оснащённые доступом к глобальной сети могут быть как очень полезными, так и являться легкой мишенью для хакеров, способных нанести по ним удар.
Для успешного предотвращения хакерских атак, разработчики должны самостоятельно обнаруживать и закрывать все без исключения дыры в своем коде, а это, как показывает многолетний опыт, практически невозможно. Поэтому для того чтобы защитить должным образом свои приложения их создатели в последнее время всё чаще используют особые защитные механизмы.
Наиболее эффективным и распространенным решением среди них является – sandbox (песочница).
В песочнице не песок?
Нет, это не детская песочница в парке развлечений, а специальная песочница для программного обеспечения. Ключевая цель такой песочницы: предотвратить распространение хакерских атак. Как мы говорили выше: опытные программисты знают, что их код не является совершенным и продукт может быть взломан, т.е. через него может быть совершена успешная атака. Для того чтобы защитить пользователя от возможных угроз, разработчики создают песочницы, которые изолируют отдельные части их программ. Фактически, все, что происходит в песочнице, там же и остается.
Песочница в действии
Для того чтобы объяснить действие песочницы мы будем использовать в качестве основного примера Google Chrome. Браузер Chrome – один из самых известных продуктов, в котором реализованы функции песочницы. Именно их компания Google с гордостью рекламирует, как уникальные особенности безопасности, которых нет у других браузеров.
Инженеры Google взяли Chrome и по сути разделили его на три различных компонента: основной процесс, связывающий все воедино, процессы вкладок, удерживающие страницы и включающие визуализацию, а также процессы плагинов, таких, как, например, Adobe Flash.
Все эти компоненты имеют разные уровни доступа и те, возможности которых ограничены, оказываются буквально изолированными от всего остального. Помимо этого, различные процессы не могут взаимодействовать между собой и просто совместно сосуществуют.
К примеру, Flash-контент из соответствующего плагина может быть представлен на открытой вкладке браузера, однако их процессы (вкладки и плагина) разделены и не имеют ничего общего.
Функция визуализации только оставит зарезервированное место на странице, в котором будет отображаться процесс. Отсутствие взаимодействия очень важно, ведь если вкладка совершила критическое действие или ее взломали, она не сможет повлиять на другие вкладки и, тем более, не сможет навредить всей вашей системе.
Firefox также имеет некоторые функции песочницы
В браузере Firefox имеется своя песочница, правда, с некоторыми ограничениями. Она отделяет только сторонние плагины, такие, как Flash и Silverlight, но все вкладки браузера по-прежнему объединены в единый процесс.
Получается, что Firefox больше доверяет своему собственному коду, в отличие от компании Google с ее браузером Chrome, и возлагает вину за все нестандартные ситуации полностью на сторонние плагины. Поэтому, если с плагином произошла какая-либо нештатная ситуация, то она не повлияет на браузер и на открытые в нём вкладки.
Существование вне песочницы
Внедрять в программный код функции песочницы – отличная стратегия, но существует огромное количество программ, не имеющих этой замечательной функции. К счастью, вы можете использовать виртуальную песочницу, в которой сможете запускать любые программы, потенциально опасные для вашей системы.
Такая технология часто применяется для тестирования программного обеспечения, однако это неплохой вариант для запуска веб-браузера или практически любого программного обеспечения. Самой популярной программой для создания виртуальной песочницы является Sandboxie, но существуют и другие варианты как платные, так и бесплатные, обладающие примерно одинаковыми возможностями.
Заключение
В настоящее время песочница (sandbox) является одной из самых обсуждаемых тем, особенно, когда речь заходит о компьютерной безопасности, и это правильно, ведь технология определенно справляется со своими обязанностями. Конечно, разработчики по-прежнему должны уделять особое внимание своему коду и доводить его до совершенства, но это нелегкая задача и не у всех получается ее достигнуть. Имейте в виду, что песочницы все еще не идеальны, например, песочница Chrome всё-таки была однажды сломана на хакерском конкурсе Pwn2Own 2012 после нескольких чрезвычайно трудных хаков.
Однако, согласитесь, такой защитный механизм все-равно лучше, чем ничего.
Sandbox — это… Что такое Sandbox?
Sandbox — may refer to: * Litter box, an indoor box for cats to relieve themselves * Sandpit or sandbox, a wide, shallow playground construction to hold sand often made of wood or plastic * Sandbox (railways), a container that holds sand for use in… … Wikipedia
Sandbox
Sandbox — ist der englischsprachige Begriff für Sandkiste oder Sandkasten. Im Rahmen der Informationstechnik steht er für Besonderheiten der Laufzeitumgebung einer Software oder der lokalen Arbeitskopie eines in einem Versionskontrollsystem abgelegten… … Deutsch Wikipedia
Sandbox — (Голд Кост,Австралия) Категория отеля: 5 звездочный отель Адрес: 616 Pacific Parade, Tugun … Каталог отелей
Sandbox — Sandbox, Java … Universal-Lexikon
sandbox — ☆ sandbox [sand′bäks΄] n. a box or pit containing sand for children to play in … English World dictionary
Sandbox — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sandbox est un mot anglais signifiant « bac à sable » en français. Sandbox, (en Europe francophone « sablière »), dispositif utilisé… … Wikipédia en Français
sandbox — In the Java programming system, an area within which the Java applet may execute. The sandbox is created by the Java Virtual Machine. The applet can do anything it likes within the sandbox, but it cannot read or alter any data outside the… … Dictionary of networking
sandbox — 1. noun /ˈsændbɑks,ˈsændbɒks/ a) A childrens play area consisting of a box filled with sand. Running a program in a sandbox can prevent it from doing any damage to the system. b) An isolated area where a program can be executed with a restricted… … Wiktionary
sandbox — UK [ˈsæn(d)ˌbɒks] / US [ˈsæn(d)ˌbɑks] noun [countable] Word forms sandbox : singular sandbox plural sandboxes American a sandpit … English dictionary
sandbox — /ˈsændbɒks/ (say sandboks) noun 1. Also, sandpit. a container holding sand, usually located in an outdoors area, for children to play in. 2. Computers a controlled space where experimental code, downloads, etc., can be tested in safety without… … Australian English dictionary
Случалось ли Вам оказаться в ситуации, когда необходимо запустить какую-то программу, но Вы не совсем уверены в источнике её происхождения? Или другой пример — необходимость проверить что-то на «чистой» версии Windows. Во всех подобных случаях раньше был только один выход — установить ОС на отдельную физическую или виртуальную машину и провести нужный эксперимент. Но это больше не так.
Microsoft разработал новый механизм под названием Песочница (eng. Windows Sandbox). Это изолированное временное окружение, в котором Вы можете запускать подозрительное программное обеспечение без риска навредить своему ПК. Любое ПО, установленное в Песочнице, остаётся только в Песочнице и не может взаимодействовать с основной ОС. Как только Вы закрываете Песочницу — всё её содержимое безвозвратно уничтожается.
Вот основные особенности Песочницы:
- Это часть ОС Windows. Если у Вас Windows 10 Pro или Enterprise, то Вы уже можете начать ею пользоваться.
- С чистого листа. При каждом запуске Песочницы Вы получаете одно и то же, чистое, неизменное окружение. В точности такое, какой была Ваша ОС сразу после её установки.
- Никаких следов. При закрытии Песочницы уничтожаются все установленные в ней приложения, все созданные там файлы. Закрыли Песочницу — не осталось никаких следов её существования.
- Безопасность. Используется аппаратная виртуализация, которая использует гипервизор для запуска отдельного ядра ОС и изолирует его от Вашей основной ОС
- Эффективность. Используется интегрированный планировщик задач, умное управление памятью, виртуальный GPU.
Системные требования
- Windows 10 Pro или Enterprise, билд 18305 или выше
- Архитектура AMD64
- Включенная в BIOS виртуализация
- Минимум 4 ГБ (рекомендовано 8 ГБ) оперативной памяти
- Минимум 1 ГБ свободного места на диске (рекомендуется SSD)
- Процессор с двумя ядрами (рекомендуется 4 с поддержкой hyper-threading)
Быстрый старт
1. Установите Windows 10 Pro или Enterprise, билд 18305 или выше
2. Включите виртуализацию:
3. Откройте (через Панель Управления) список установленных компонентов Windows и включите в нём Песочницу. Нажмите ОК. Если увидите запрос на перезагрузку компьютера — подтвердите его.
4. Запустите Песочницу из меню Пуск. Разрешите повышение прав для её процесса.
5. Скопируйте (через буфер обмена) в Песочницу бинарник, который хотите запустить.
6. Запустите бинарник в Песочнице. Если это инсталлятор — пройдите процедуру установки и запустите установленное приложение.
7. Используйте приложение по назначению.
8. Когда закончите — просто закройте Песочницу. Всё её содержимой будет удалено.
9. Опционально — можете убедиться, что в Вашей основной ОС ничего не изменилось.
Что под капотом у Песочницы
Песочница Windows построена на технологии, которая называется Windows Containers. Контейнеры разрабатывались (и давно используются) для работы в облаке. Microsoft взял уже достаточно зрелую и протестированную технологию и доработал её для пользователей десктопной Windows.
Среди ключевых адаптаций можно отметить:
Динамически генерируемый образ
Песочница является хотя и легковесной, но всё же виртуальной машиной. И, как любой виртуальной машине, ей требуется образ, с которого она может загрузится. Важнейшей особенностью Песочницы является то, что Вам не нужно откуда-то качать или создавать этот образ. Он создастся на лету, из файлов вашей текущей ОС Windows.
Мы хотим всегда получить одно и то же «чистое» окружение для Песочницы. Но есть проблема: некоторые системные файлы могут меняться. Решением было создание «динамически генерируемого образа»: для изменённых файлов в него будут включаться их оригинальные версии, но вот неизменные файлы физически в этот образ входить не будут. Вместо них будут использоваться ссылки на реальные файлы на диске. Как показала практика — такими ссылками будут большинство файлов в образе. Лишь малая их часть (около 100 МБ) войдут в образ полностью — это и будет его размер. Более того, когда Вы не используете Песочницу, эти файлы хранятся в сжатом виде и занимают около 25 МБ. При запуске Песочницы они разворачиваются в тот самый «динамический образ» размером около 100 МБ.
Умное управление памятью
Управление памятью для Песочницы — ещё одно важное усовершенствование. Гипервизор позволяет запускать на одной физической машине несколько виртуальных и это, в общем, неплохо работает на серверах. Но, в отличии от серверов, ресурсы обычных пользовательских машин значительно более ограничены. Для достижения приемлемого уровня производительности Microsoft разработал специальный режим работы памяти, при котором основная ОС и Песочница могут с некоторых случаях использовать одни и те же страницы памяти.
В самом деле: поскольку основная ОС и Песочница запускают один и тот же образ ОС, то большинство системных файлах в них будут одни и те же, а значит нет смысла дважды загружать в память одинаковые библиотеки. Можно сделать это один раз в основной ОС, а когда тот же файл понадобится в памяти Песочнице — ей можно дать ссылку на ту же страницу. Конечно, требуются некоторые дополнительные меры для обеспечения безопасности подобного подхода, но Microsoft позаботилась об этом.
Интегрированный планировщик
В случае использования обычных виртуальных машин гипервизор контролирует работу виртуальных процессоров, работающих в них. Для Песочницы была разработана новая технология, которая называется «интегрированный планировщик», которая позволяет основной ОС решать когда и сколько ресурсов выделить Песочнице. Работает это так: виртуальный процессоры Песочницы работают как потоки внутри процесса Песочницы. В итоге они имеют те же «права», что и остальные потоки в вашей основной ОС. Если, к примеру, у вас работают какие-то высокоприоритетные потоки, то Песочница не будет отнимать у них много времени для выполнения своих задач, которые имеют нормальный приоритет. Это позволит пользоваться Песочницей, не замедляя работу критически важных приложений и сохраняя достаточную отзывчивость UI основной ОС, аналогично тому, как работает Linux KVM.
Главной задачей было сделать Песочницу с одной стороны просто обычным приложением, а с другой — дать гарантию её изоляции на уровне классических виртуальных машин.
Использование «снимков»
Как уже говорилось выше, Песочница использует гипервизор. Мы по сути запускаем одну копию Windows внутри другой. А это означает, что для её загрузки понадобится какое-то время. Мы можем тратить его при каждом запуске Песочницы, либо сделать это лишь раз, сохранив после загрузки всё состояние виртуальной ОС (изменившиеся файлы, память, регистры процессора) на диске. После этого мы сможем запускать Песочницу из данного снимка, экономя при этом время её старта.
Виртуализация графики
Аппаратная виртуализация графики — это ключ к плавному и быстрому пользовательскому интерфейсу, особенно для «тяжелых» в плане графики приложений. Однако, классические виртуальные машины изначально ограничены в возможностях напрямую использовать все ресурсы GPU. И здесь важную роль выполняют средства виртуализации графики, которые позволяют преодолеть данную проблему и в какой-то форме использовать аппаратную акселерацию в виртуальном окружении. Примером такой технологии может быть, например, Microsoft RemoteFX.
Кроме того, Microsoft активно работала с производителями графических систем и драйверов для того, чтобы интегрировать возможности виртуализации графики непосредственно в DirectX и WDDM (модель драйверов в ОС Windows).
В результате графика в Песочнице работает следующим образом:
- Приложение в Песочнице использует графические функции обычным образом, не зная кто и как будет их выполнять
- Графическая подсистема Песочницы, получив команды отрисовки графики, передаёт их основной ОС
- Основная ОС, получив команды отрисовки графики, воспринимает их так, как будто они пришли от локально запущенного приложения и соответствующим образом выполняет их, выделяя и управляя необходимыми ресурсами.
Это процесс можно изобразить так:
Это позволяет виртуальному окружению получать полноценный доступ к аппаратно акселерируемой графике, что даёт как прирост производительности, так и экономию некоторых ресурсов (например, заряда батареи для ноутбуков) в следствие того, что для отрисовки графики больше не используются тяжелые расчёты на CPU.
Использование батареи
Песочница имеет доступ к информации о заряде батареи и может оптимизировать свою работу для его экономии.
Отзывы и сообщения о проблемах
В любой новой технологии могут быть баги. Microsoft просит присылать сообщения о них и предложения новых фич через Feedback Hub.
Ошибочно полагать, что встроенная защита операционной системы, антивирус или брандмауэр полностью защитят от вредоносных программ. Впрочем, вред может быть и не столь явным, как в случае с вирусами: несколько приложений способны замедлить работу Windows, повлечь за собой аномалии различного рода. Со временем последствия неконтролируемых процессов со стороны «самодеятельного» программного обеспечения дают о себе знать, и деинсталляция, удаление ключей реестра и другие способы очистки уже не помогают.
В таких ситуациях отличную службу могут сыграть программы-песочницы, которым посвящен этот обзор. Принцип работы песочниц отчасти сопоставим с виртуальными машинами (Oracle VM VirtualBox и др., VMware Virtualization). Благодаря виртуализации, все процессы, инициированные программой, выполняются в песочнице — изолированной среде с жестким контролем системных ресурсов.
Данный способ изоляции кода достаточно активно применяется в антивирусном ПО (KIS 2013, avast!), в программах, таких как Google Chrome (в песочнице работает Flash). Не следует, однако, делать вывод, что программы-песочницы являются полной гарантией безопасности. Это всего лишь одно из эффективных дополнительных средств по защите ОС (файловой системы, реестра) от внешних воздействий.
На iXBT.com уже был опубликован обзор программы для создания виртуального окружения — Free BufferZone Pro. Сегодня будут рассмотрены другие приложения, в более широком плане: это не только настольные решения, но и облачные сервисы, улучшающие не только безопасность, но и анонимность, дающие возможность запуска со съемного носителя, с другого компьютера.
Sandboxie
Домашняя страница: http://www.sandboxie.com/
Разработчик Ronen Tzur сравнивает действие программы Sandboxie с невидимым слоем, нанесенным поверх бумаги: на него можно наносить любые надписи; при снятии защиты, лист останется нетронутым.
Можно выделить 4 основных способа применения песочниц в Sandboxie:
- Защищенный интернет-серфинг
- Улучшение приватности
- Безопасная email-переписка
- Сохранение ОС в первоначальном состоянии
Последний пункт подразумевает, что в песочнице можно устанавливать и запускать любые клиентские приложения — браузеры, IM-мессенджеры, игры — без воздействия на систему. Sandboxie контролирует доступ к файлам, дисковым устройствам, ключам реестра, процессам, драйверам, портам и другим потенциально незащищенным источникам.
Прежде всего, SandboxIE полезна тем, что позволяет пользователю гибко настраивать песочницы и привилегии с помощью оболочки Sandboxie Control. Здесь, через контекстное и главного меню, доступны основные операции:
- Запуск и остановка программ под контролем Sandboxie
- Просмотр файлов внутри песочницы
- Восстановление нужных файлов из песочницы
- Удаление всех результатов работы или выборочных файлов
- Создание, удаление и настройка песочниц
Для запуска программы в песочнице достаточно перетянуть исполнимый файл в окно Sandboxie Control, в созданную по умолчанию песочницу. Есть и другие способы — например, меню Проводника Windows или область уведомлений. Окно программы, запущенной в эмулированной среде, будет заключено в желтую рамку, а в заголовке указана решетка (#).
Работа программы в песочнице
Если при работе с изолированной программой нужно сохранить результаты на диск, указывается любой желаемый источник — файлы будут помещены в папку песочницы, в то время как по указанному адресу, за пределами песочницы, его не будет. Для «реального» переноса файлов из песочницы, следует использовать опцию восстановления. Есть два их вида — быстрое или немедленное, в обоих случаях, перед запуском программы в песочнице, нужно настроить папки для восстановления («Настройки песочницы — Восстановление»).
Немедленное восстановление файлов
Более детальные настройки доступа расположены в разделах «Ограничения» и «Доступ к ресурсам». Они могут потребоваться в том случае, если приложение не может работать без определенных привилегий (требуется определенная системная библиотека, драйвер или т. п.). В «Ограничениях», применительно к программам или группам, настраивается доступ в Интернет, к аппаратным средствам, IPC-объектам, а также доступ низкого уровня. В «Доступе к ресурсам» — соответствующие настройки для файлов, директорий, к реестру и прочим системным ресурсам.
Также в настройках Sandboxie находится важный раздел «Приложения», где собраны группы программ, для которых предоставлен доступ к указанным ресурсам. Изначально все элементы списка деактивированы, для применения изменений для конкретного приложения нужно отметить его в списке и нажать кнопку «Добавить».
Настройка доступа приложений
Таким образом, можно создавать песочницы с различными параметрами. Разрешается клонировать конфигурацию уже имеющейся песочницы, для этого, при создании новой, из выпадающего списка нужно выбрать ту среду, из которой требуется перенести настройки.
Резюме
С помощью приложения Sandboxie можно создавать виртуальные среды любых конфигураций, без ограничений для пользователя. Sandboxie предоставляет большое количество настроек как для отдельных приложений, так и для песочниц.
[+] Гибкая настройка каждой песочницы
[+] Создание правил для группы программ
[−] Нельзя создавать дистрибутивы
[−] Отсутствие мастера настройки
Evalaze
Домашняя страница: http://www.evalaze.de/en/evalaze-oxid/
Символично, что Evalaze берет свое начало от программы Thinstall 2007, на данный момент принадлежащей компании VMware.
Evalaze не столь известна, как Sandboxie, среди программ для работы с песочницами, однако имеет ряд интересных особенностей, выделяющей ее из ряда подобных решений. Благодаря виртуализации, приложения можно запускать в автономной среде с любого компьютера, вне зависимости от наличия драйверов, библиотек, более новых версий запускаемого приложения. При этом не требуется ни предварительная настройка, ни дополнительные конфигурационные файлы или библиотеки или ключи реестра.
Evalaze не требует установки, один нюанс: для работы понадобится Microsoft .NET Framework версии 2.0 или выше. В бесплатной версии, равно как и в профессиональной редакции, доступен мастер настройки виртуализации и неограниченное количество виртуальных приложений. Скачать trial-версию с сайта разработчиков можно только по запросу (email разработчиков см. на сайте).
На странице Compatibility опубликован список приложений, протестированных на совместимость с различными ОС и версиями Evalaze. Например, такие программы, как Adobe Reader, AutoCAD, Google Earth, Outlook, Skype нельзя виртуализировать, в то же время, как большинство приложений из обширного списка полноценно работают с Evalaze.
Главное окно Evalaze
В главном окне Evalaze доступен мастер создания проекта (Start Wizard). На первом этапе указывается имя и расположение файлов для работы в песочнице. Перед установкой нового приложения Evalaze создает снимок файловой системы и реестра. В PRO-версии можно выбрать глубину сканирования, в бесплатной данной опции нет.
На следующем шаге требуется выбрать инсталлятор, произвести полную установку и запустить приложение хотя бы один раз. После чего в Evalaze запускается вторичное сканирование, сравниваются изменения и создается снимок виртуального приложения. Его можно «персонализировать»: настроить ярлыки на Рабочем столе, в Главном меню, добавить заставку.
Пользователь может выбрать один из трех способов изоляции новоявленного приложения — WriteCopy, Merge-Mode или Full. Для системных утилит, помещенных в песочницу, рекомендуется режим Write Copy, при котором запросы доступа для чтения передаются в песочницу, и все изменения производятся с копией реальных данных (подробнее см. здесь).
Полученная конфигурация может быть сохранена в проект. От начала и до конца процесс настройки виртуального приложения занимает больше времени, чем, скажем, в Sandboxie, однако он более последователен и понятен.
Следует отметить две дополнительные возможности Evalaze, которые, вероятно, заинтересуют разработчиков ПО, тестировщиков: это работа с виртуальной файловой системой и виртуальным реестром. Данные автономные среды Evalaze можно редактировать на свое усмотрение, добавляя файлы, директории, ключи, необходимые для функционирования той или иной виртуальной программы.
Также в Evalaze можно настраивать ассоциации «из коробки»: виртуальное приложение при запуске сразу создаст необходимые ассоциации с файлами в ОС.
Резюме
Программа, с помощью которой можно создавать автономные приложения, которые удобно использовать во всевозможных ситуациях, что в целом облегчает миграцию, совместимость, безопасность. Увы, бесплатная версия практически бесполезна, она интересна только для очень поверхностного изучения функций Evalaze.
[−] Малофункциональная ознакомительная версия
[−] Высокая цена Pro-версии
[+] Присутствует мастер настройки
[+] Виртуальные файловая система и реестр
Enigma Virtual Box
Домашняя страница: http://www.enigmaprotector.com/en/downloads.html
Настройка виртуального приложения в Enigma Virtual Box
Программа Enigma Virtual Box предназначена для запуска приложений в изолированной виртуальной среде. Список поддерживаемых форматов включает в себя dll, ocx (библиотеки), avi, mp3 (мультимедиа), txt, doc (документы) и др.
Enigma Virtual Box моделирует виртуальную среду вокруг приложения следующим образом. Перед запуском приложения срабатывает загрузчик Virtual Box, который считывает информацию, которая необходима для работы программы: библиотеки и другие компоненты — и предоставляет их приложению вместо системных. В результате программа работает автономно по отношению к ОС.
На конфигурацию песочниц Sandboxie или Evalaze, как правило, уходит минут 5. На первый взгляд, в Virtual Box также не предполагается длительная настройка. В документации использование программы вмещается фактически в одно предложение.
Всего 4 вкладки — «Файлы», «Реестр», «Контейнеры» и, собственно, «Опции». Нужно выбрать исполнимый файл, указать расположение конечного результата и запустить обработку. Но впоследствии оказывается, что виртуальное среду нужно создавать самостоятельно. Для этого и предназначены три рядом идущие раздела «Файлы», «Реестр» и «Контейнеры», где вручную добавляются нужные данные. После чего можно нажать обработку, запустить выходной файл и проверить работоспособность программы.
Резюме
Таким образом, в Enigma Virtual Box нет анализа ОС до установки приложения и после, как в случае с Evalaze. Акцент смещен в сторону разработки — поэтому, скорее, Virtual Box полезен для тестирования, проверки совместимости, создания искусственных условий для запуска программы. Виртуализация неизвестных приложений вызовет затруднения, поскольку пользователь будет вынужден самостоятельно указывать все связи программы самостоятельно.
[−] Отсутствие удобной настройки
[+] Используемые программой ресурсы можно определить самостоятельно
Cameyo
Домашняя страница: http://www.cameyo.com/
Cameyo предлагает виртуализацию приложений в трех направлениях: бизнес, разработка персональное использование. В последнем случае, песочницу можно задействовать для сохранения ОС в «чистом» состоянии, хранения и запуска приложений на съемных носителях и в облачные сервисах. Кроме того, на портале cameyo.com опубликовано несколько сотен уже сконфигурированных виртуальных приложений, а это еще и экономия времени пользователя.
Этапы создания виртуального приложения схожи с Enigma Virtual Box: вначале создается снимок системы перед установкой, затем после нее. Изменения между этими состояниями учитываются при создании песочницы. Однако, в отличие от Virtual Box, Cameyo синхронизируется с удаленным сервером и публикует приложение в облачном хранилище. Благодаря этому, приложения можно запускать на любом компьютере с предоставленным доступом к аккаунту.
Через библиотеку (Library) можно скачать для последующего запуска популярные системные приложения (Public Virtual Apps): архиваторы, браузеры, проигрыватели и даже антивирусы. При запуске предлагается выбрать исполнимый файл и указать, стабильно он работает или нет (что, видимо, как-то учитывается модераторами галереи Cameyo).
Библиотека приложений Cameyo
Еще одна интересная возможность — создание виртуального приложения через веб-интерфейс. Установщик можно загрузить с компьютера либо указать URL файла.
Процесс конвертации, по заявлениям, занимает от 10 до 20 минут, но часто время ожидания меньше в несколько раз. По окончании, на email приходит уведомление со ссылкой на опубликованный пакет.
Email-уведомление о создании дистрибутива
При всех облачных удобствах нужно отметить два важных момента. Первый: каждая программа время ко времени обновляется, а в библиотеке присутствуют достаточно устаревшие экземпляры. Второй аспект: приложения, добавленные пользователями, может идти вразрез с лицензией отдельно взятой программы. Необходимо это понимать и учитывать при создании пользовательских дистрибутивов. И третье — никто не даст гарантии, что виртуальное приложение, выложенное в галерею, не модифицировано злоумышленником.
Впрочем, говоря о безопасности, в Cameyo есть 4 режима работы приложения:
- Data mode: программа может сохранять файлы в папке Документы и на Рабочем столе
- Isolated: возможность записи в файловой системе и реестре отсутствует
- Full access: свободный доступ к файловой системе и реестру
- Customize this app: модификация меню для запуска, выбор места хранения программы и др.
Резюме
Удобный облачный сервис, к которому можно подключиться на любом компьютере, позволяющий быстро создавать портативные приложения. Настройка песочниц сведена к минимуму, не все прозрачно с проверкой на вирусы и безопасностью в целом — однако в данной ситуации достоинства способны компенсировать недостатки.
[+] Сетевая синхронизация
[+] Доступ к пользовательским приложениям
[+] Создание виртуальных приложений онлайн
[−] Отсутствие настройки песочниц
Spoon.net
Домашняя страница: http://www.spoon.net/
Spoon Tools — это комплекс инструментов для создания виртуальных приложений. Кроме профессиональной среды Spoon Studio, spoon.net заслуживает внимания как облачный сервис, который интегрируется с Рабочим столом, позволяя быстро создавать песочницы.
Для интеграции с Рабочим столом необходимо зарегистрироваться на сервере spoon.net и установить специальный виджет. После регистрации пользователь получает возможность скачивать с сервера виртуальные приложения через удобную оболочку.
Четыре возможности, привносимые виджетом:
- Создание песочниц для файлов и приложений
- Наведение порядка на Рабочем столе посредством ярлыков, меню быстрого запуска
- Безопасное тестирование новых приложений, запуск устаревших версий поверх новых
- Отмена изменений, произведенных песочницей
Быстрый доступ к виджету spoon.net возможен посредством сочетания клавиш Alt + Win. Оболочка включает в себя строку поиска, по совместительству — консоль. В ней производится поиск приложений на компьютере и на веб-сервисе.
Консоль и строка поиска spool.net
Очень удобна организация десктопа: на виртуальный Рабочий стол можно перетянуть нужные файлы, которые будут синхронизироваться со spool.net. Новые песочницы можно создавать буквально двумя кликами.
Песочница, созданная в Spoon
Безусловно, по части настройки песочниц Spoon не может составить конкуренцию Sandboxie или Evalaze по той причине, что в Spoon они попросту отсутствуют. Нельзя устанавливать ограничения, конвертировать «обычное» приложение в виртуальное. Для этих целей предназначен комплекс Spoon Studio.
Резюме
Spoon — «самая облачная» оболочка для работы с виртуальными приложениями и, вместе с тем, наименее поддающаяся настройке. Данный продукт придется по вкусу пользователям, которым важна не столько безопасность работы посредством виртуализации, сколько удобство работы с необходимыми программами повсеместно.
[+] Интеграция виджета с Рабочим столом
[+] Быстрое создание песочниц
[−] Отсутствие настроек по ограничению виртуальных программ
Сводная таблица
Программа/сервис | Sandboxie | Evalaze | Enigma Virtual Box | Cameyo | Spoon.net |
Разработчик | Sandboxie Holdings LLC | Dogel GmbH | The Enigma Protector Developers Team | Cameyo | Spoon.net |
Лицензия | Shareware (€13+) | Freeware/Shareware (€69,95) | Freeware | Freeware | Free (аккаунт Basic) |
Добавление приложений в песочницу | + | − | − | − | − |
Персонализация (создание ярлыков, интеграция в меню) | + | + | − | + | + |
Мастер настройки | − | + | + | + | − |
Создание новых виртуальных приложений | − | + | + | + | − |
Онлайн-синхронизация | − | − | − | + | + |
Настройка привилегий для песочницы | + | + | + | + | − |
Анализ изменений при создании песочницы | + | + | − | + | − |
Антивирусные песочницы. Введение / Хабр
В процессе публикации последней части цикла статей «Ложь, большая ложь и антивирусы» выяснилась катастрофическая необразованность хабра-аудитории в области антивирусных песочниц, что они собой представляют и как работают. Что самое смешное в этой ситуации– в Сети практически начисто отсутствуют достоверные источники информации по данному вопросу. Лишь куча маркетоидной шелухи и текстов от не пойми кого в стиле «одна бабка сказала, слушай сюды». Придётся мне восполнять пробелы.Определения.
Итак, песочница. Сам термин произошёл не от детской песочницы, как могут некоторые подумать, а от той, что пользуются пожарные. Это бак с песком, где можно безопасно работать с легковоспламеняющимися предметами либо бросать туда что-то уже горящее без боязни подпалить что-нибудь ещё. Отражая аналогию данного технического сооружения на софтверную составляющую, можно определить программную песочницу как «изолированную среду исполнения с контролируемыми правами». Именно так, например, работает песочница Java-машины. И любая другая песочница тоже, вне зависимости от предназначения.
Переходя к антивирусным песочницам, суть которых есть защита основной рабочей системы от потенциально опасного контента, можно выделить три базовые модели изоляции пространства песочницы от всей остальной системы.
1. Изоляция на основе полной виртуализации. Использование любой виртуальной машины в качестве защитного слоя над гостевой операционной системой, где установлен браузер и иные потенциально опасные программы, через которые пользователь может заразиться, даёт достаточно высокий уровень защиты основной рабочей системы.
Недостатки подобного подхода, кроме монструозного размера дистрибутива и сильного потребления ресурсов, кроются в неудобствах обмена данными между основной системой и песочницей. Более того, нужно постоянно возвращать состояние файловой системы и реестра к исходным для удаления заражения из песочницы. Если этого не делать, то, например, агенты спам-ботов будут продолжать свою работу внутри песочницы как ни в чём не бывало. Блокировать их песочнице нечем. Кроме того, непонятно, что делать с переносимыми носителями информации (флешки, например) или выкачанными из Интернета играми, в которых возможны зловредные закладки.
Пример подхода- Invincea.
2. Изоляция на основе частичной виртуализации файловой системы и реестра. Совсем необязательно таскать с собой движок виртуальной машины, можно подпихивать процессам в песочнице дубликаты объектов файловой системы и реестра, помещая в песочницу приложения на рабочей машине пользователя. Попытка модификации данных объектов приведёт к изменению лишь их копий внутри песочницы, реальные данные не пострадают. Контроль прав не даёт возможности атаковать основную систему изнутри песочницы через интерфейсы операционной системы.
Недостатки подобного подхода также очевидны– обмен данными между виртуальным и реальным окружением затруднён, необходима постоянная очистка контейнеров виртуализации для возврата песочницы к изначальному, незаражённому состоянию. Также, возможны пробои либо обход такого вида песочниц и выход зловредных программных кодов в основную, незащищённую систему.
Пример подхода- SandboxIE, BufferZone, ZoneAlarm ForceField, изолированная среда Kaspersky Internet Security, Comodo Internet Security sandbox, Avast Internet Security sandbox.
3. Изоляция на основе правил. Все попытки изменения объектов файловой системы и реестра не виртуализируются, но рассматриваются с точки зрения набора внутренних правил средства защиты. Чем полнее и точнее такой набор, тем большую защиту от заражения основной системы предоставляет программа. То есть, этот подход представляет собой некий компромисс между удобством обмена данными между процессами внутри песочницы и реальной системой и уровнем защиты от зловредных модификаций. Контроль прав не даёт возможности атаковать основную систему изнутри песочницы через интерфейсы операционной системы.
К плюсам такого подхода относится, также, отсутствие необходимости постоянного отката файловой системы и реестра к изначальному состоянию.
Недостатки подобного подхода– программная сложность реализации максимально точного и полноценного набора правил, возможность лишь частичного отката изменений внутри песочницы. Так же, как и любая песочница, работающая на базе рабочей системы, возможен пробой либо обход защищённой среды и выход зловредных кодов в основную, незащищённую среду исполнения.
Пример подхода- DefenseWall, Windows Software Restriction Policy, Limited User Account + ACL.
Существуют и смешанные подходы к изоляции процессов песочницы от остальной системы, основанные как на правилах, так и на виртуализации. Они наследуют как достоинства обоих методов, так и недостатки. Причём недостатки превалируют из-за особенностей психологического восприятия пользователей.
Примеры подхода- GeSWall, Windows User Account Control (UAC).
Методы принятия решения о помещении под защиту.
Перейдём к методам принятия решения о помещении процессов под защиту песочницей. Всего их три базовых:
1. На основе правил. То есть, модуль принятия решения смотрит на внутреннюю базу правил запуска тех или иных приложений или потенциально опасных файлов и, в зависимости от этого, запускает процессы в песочнице либо вне неё, на основной системе.
Преимущества данного подхода- наиболее максимальный уровень защиты. Закрываются как зловредные программные файлы, пришедшие из потенциально опасных мест через песочницу, так и неисполняемые файлы, содержащие зловредные скрипты.
Недостатки– могут быть проблемы при установке программ, пришедших через песочницу (хотя белые списки и сильно облегчают эту задачу), необходимость вручную запускать процессы в основной, доверенной зоне для обновления программ, обновляющихся только внутри себя самих (например, Mozilla FireFox, Utorrent или Opera).
Примеры программ с таким подходом- DefenseWall, SandboxIE, BufferZone, GeSWall.
2. На основе прав пользователя. Так работает Windows Limited User Account и защита на основе SRP и ACL. При создании нового пользователя ему предоставляются права доступа к определённым ресурсам, а также ограничения на доступ к другим. При необходимости программы работы с запрещёнными для данного пользователя ресурсами необходимо либо перелогиниться в системе под пользователем с подходящим набором прав и запустить программу, либо запустить её одну под таким пользователем, без перелогинивания основного работающего пользователя (Fast User Switch).
Преимущества такого подхода- относительно неплохой уровень общей защищённости системы.
Недостатки- нетривиальность управления защитой, возможность заражения через разрешённые для модификации ресурсы, поскольку модуль принятия решения не отслеживает такие изменения.
3. На основе эвристических подходов. В этом случае модуль принятия решения «смотрит» на исполняемый файл и пытается по косвенным данным угадать, запустить его на основной системе или в песочнице. Примеры– Kaspersky Internet Security HIPS, Comodo Internet Security sandbox.
Преимущества данного подхода- он более прозрачен для пользователя, чем на основе правил. Проще в обслуживании и реализации для компании–производителя.
Недостатки- неполноценность подобной защиты. Кроме того, что эвристик модуля принятия решения может «промахнуться» на исполняемом модуле, такие решения демонстрируют практически нулевую сопротивляемость неисполняемым файлам, содержащим зловредные скрипты. Ну, плюс ещё парочка проблем (например, с установкой зловредных расширений изнутри самого браузера, из тела эксплойта).
Отдельно хотелось обратить внимание на метод использования песочницы как средства эвристики, т.е. запуск программы в ней на некоторый промежуток времени с последующим анализом действий и принятием общего решения о зловредности– полноценной антивирусной песочницей данный подход не назвать. Ну что это за антивирусная песочница, которая устанавливается лишь на краткий период времени с возможностью полного её снятия?
Режимы использования антивирусных песочниц.
Их всего два основных.
1. Режим постоянной защиты. При старте процесса, который может быть угрозой для основной системы, он автоматически помещается в песочницу.
2. Режим ручной защиты. Пользователь самостоятельно принимает решение о запуске того либо иного приложения внутри песочницы.
Песочницы, имеющие основной режим работы как «постоянную защиту» могут, также, иметь и ручной режим запуска. Равно как и наоборот.
Для песочниц с изоляцией на основе правил характерно использование режима постоянной защиты, поскольку обмен данными между основной системой и процессами внутри песочницы абсолютно прозрачен.
Для эвристических песочниц также характерно использование режима постоянной защиты, поскольку обмен данными между основной системой и процессами внутри песочницы абсолютно несущественен либо сводится к оному.
Для неэвристических песочниц с изоляцией на основе частичной виртуализации характерен режим ручной защиты. Это связано с затруднённым обменом данными между процессами внутри песочницы и основной рабочей системой.
Примеры:
1. DefenseWall (песочница с изоляцией на основе правил) имеет основным режимом работы «постоянный на правилах». Однако, запуск вручную приложений внутри песочницы, равно как и вне неё, присутствуют.
2. SandboxIE (песочница и изоляцией на основе частичной виртуализации) имеет основным режимом работы «ручной». Но при покупке лицензии можно активировать режим «постоянный на правилах».
3. Comodo Internet Security sandbox (песочница с изоляцией на основе частичной виртуализации) имеет основной режим работы «постоянный эвристический». Однако, запуск приложений вручную внутри песочницы, равно как и вне неё, присутствуют.
Вот, в основном, базовые вещи, любой уважающий себя профессионал должен знать об антивирусных песочницах. У каждой отдельной программы свои особенности реализации, которые вы уже сами должны будете найти, понять и оценить те плюсы и минусы, которые она несёт.
Sandboxie — Википедия. Что такое Sandboxie
Sandboxie — условно-бесплатная утилита, которая представляет собой средство для контроля за работой различных программ, а также повышения уровня безопасности, в том числе и при работе в Интернете. Программа предоставляет пользователям возможность запуска приложений в защищённой оболочке, иначе называемой «песочница».
Sandboxie является бесплатной при условии персонального некоммерческого использования. После 30 дней использования бесплатная версия отображает уведомление с предложением перейти на платную версию, но остаётся функциональной[2].
Описание
Sandboxie позволяет запускать приложения в изолированной виртуальной среде и полностью контролировать запущенные процессы.
Программа, работающая в «песочнице», не сможет записать какие-либо данные в системный реестр, получить доступ к системным файлам или внести изменения в систему и повлиять на её работоспособность.
Sandboxie повышает безопасность операционной системы при веб-сёрфинге в Интернете от установки нежелательного программного обеспечения, а также следит за работой электронной почты, используя собственную «ловушку» для вирусов, троянских и шпионских программ, прикреплённых к письму.
Количество виртуальных «песочниц» не ограничено, пользователь может вручную составить список программ, которые будут автоматически запускаться в них, а также настроить уровень разрешения к разным ресурсам для каждой из них.
Все следы изменений, сделанные внутри «песочницы» можно просмотреть, зайдя в соответствующую папку.
Утилита не является кроссплатформенным программным обеспечением и работает только на компьютерах под управлением 32-битных и 64-разрядных операционных систем Microsoft Windows.
В прошлом разработчик прекращал поддержку 64-разрядных версий Windows, и не было никаких планов их поддержки в будущих версиях программы. Sandboxie функционировала на 64-разрядных версиях Windows XP из-за слабой реализации PatchGuard. Однако, с выходом Windows Vista, которая включала более безопасную реализацию PatchGuard, Sandboxie уже не мог обойти PatchGuard. Вскоре после этого было выпущено исправление «KB932596» для 64-разрядной Windows XP, которое включало обновлённый вариант PatchGuard, что делало невозможным работу Sandboxie в 64-разрядной Windows XP. Таким образом, разработчик прекратил поддержку 64-битной версии Sandboxie. Несмотря на удаление исправления «KB932596», которое позволяло старым 64-битным версиям Sandboxie функционировать как и прежде, это могло повлечь несанкционированную модификацию ядра. Начиная с версии 3.44, Sandboxie предлагает полную поддержку для 64-разрядных версий Windows Vista с Пакетом обновления 1 и Windows 7[3]. Начиная с версии 5, Sandboxie поддерживает Windows 10. Для версии 5.14 на официальном сайте заявляется поддержка всех выпусков операционной системы от Windows XP SP3 до Windows 10 в 32-битной и 64-битной версии [4].
См. также
Примечания
Статьи
Ссылки
- sandboxie.com — официальный сайт Sandboxie (англ.)
Sandboxie — Википедия. Что такое Sandboxie
Sandboxie — условно-бесплатная утилита, которая представляет собой средство для контроля за работой различных программ, а также повышения уровня безопасности, в том числе и при работе в Интернете. Программа предоставляет пользователям возможность запуска приложений в защищённой оболочке, иначе называемой «песочница».
Sandboxie является бесплатной при условии персонального некоммерческого использования. После 30 дней использования бесплатная версия отображает уведомление с предложением перейти на платную версию, но остаётся функциональной[2].
Описание
Sandboxie позволяет запускать приложения в изолированной виртуальной среде и полностью контролировать запущенные процессы.
Программа, работающая в «песочнице», не сможет записать какие-либо данные в системный реестр, получить доступ к системным файлам или внести изменения в систему и повлиять на её работоспособность.
Sandboxie повышает безопасность операционной системы при веб-сёрфинге в Интернете от установки нежелательного программного обеспечения, а также следит за работой электронной почты, используя собственную «ловушку» для вирусов, троянских и шпионских программ, прикреплённых к письму.
Количество виртуальных «песочниц» не ограничено, пользователь может вручную составить список программ, которые будут автоматически запускаться в них, а также настроить уровень разрешения к разным ресурсам для каждой из них.
Все следы изменений, сделанные внутри «песочницы» можно просмотреть, зайдя в соответствующую папку.
Утилита не является кроссплатформенным программным обеспечением и работает только на компьютерах под управлением 32-битных и 64-разрядных операционных систем Microsoft Windows.
В прошлом разработчик прекращал поддержку 64-разрядных версий Windows, и не было никаких планов их поддержки в будущих версиях программы. Sandboxie функционировала на 64-разрядных версиях Windows XP из-за слабой реализации PatchGuard. Однако, с выходом Windows Vista, которая включала более безопасную реализацию PatchGuard, Sandboxie уже не мог обойти PatchGuard. Вскоре после этого было выпущено исправление «KB932596» для 64-разрядной Windows XP, которое включало обновлённый вариант PatchGuard, что делало невозможным работу Sandboxie в 64-разрядной Windows XP. Таким образом, разработчик прекратил поддержку 64-битной версии Sandboxie. Несмотря на удаление исправления «KB932596», которое позволяло старым 64-битным версиям Sandboxie функционировать как и прежде, это могло повлечь несанкционированную модификацию ядра. Начиная с версии 3.44, Sandboxie предлагает полную поддержку для 64-разрядных версий Windows Vista с Пакетом обновления 1 и Windows 7[3]. Начиная с версии 5, Sandboxie поддерживает Windows 10. Для версии 5.14 на официальном сайте заявляется поддержка всех выпусков операционной системы от Windows XP SP3 до Windows 10 в 32-битной и 64-битной версии [4].
См. также
Примечания
Статьи
Ссылки
- sandboxie.com — официальный сайт Sandboxie (англ.)
Что такое нормативная песочница?
Соединенное Королевство — не единственная страна, которая предприняла твердые шаги в своем стремлении развивать и регулировать финтех-сектор. Все большее число регионов присоединяется к тенденции создания нормативных «песочниц» для ускорения инноваций в своих секторах бизнеса и превращения себя в международные центры.
Песочница «» первоначально относилась к маленькой коробочке с песком, где дети играют и экспериментируют в контролируемой среде.Но понемногу термин приобрел новые значения. В мире компьютерных наук песочница — это закрытая среда тестирования, предназначенная для безопасного эксперимента с веб-проектами или проектами программного обеспечения.
Эта концепция также используется на арене цифровой экономики для обозначения нормативных «песочниц» : полигонов для тестирования новых бизнес-моделей , которые не защищены действующим законодательством или не контролируются регулирующими органами.
Эти испытательные площадки особенно актуальны в мире , где существует растущая потребность в разработке нормативно-правовой базы для новых бизнес-моделей.Цель «песочницы» — адаптировать соответствие строгим финансовым нормам к росту и темпам развития самых инновационных компаний таким образом, чтобы не заглушить правила в финтех-секторе, но также не ослабить защиту потребителей.
Великобритания является одним из мест, где институциональная приверженность финтеху очень сильна, поскольку Лондон пытается стать мировой столицей финансовых потрясений. Два года назад, в конце 2015 года, Управление финансового поведения (FCA) — британский регулятор рынка — опубликовало отчет в рамках своего проекта Innovate , в котором объяснялось, почему необходима регулирующая песочница.
Проект был реализован в середине 2016 года. Компании Fintech со всего мира представили приложения для дальнейшего роста и соблюдения строгих финансовых правил , работающих вместе с FCA. Между тем, целью FCA является создание стимулов для конкуренции, чтобы у потребителей было больше и лучших альтернатив для управления своими деньгами.
Первое издание британской нормативной песочницы началось в начале 2017 года . Одним из стартапов, отобранных для участия, был Bud, который рассказал о своем опыте на мероприятии, организованном BBVA Bancomer и Межамериканским банком развития.В июне FCA объявило, что вторая группа отобранных компаний была готова начать второй раунд тестирования песочницы, и они даже принимали заявки для третьего раунда.
,- Товары
- Клиенты
- Случаи использования
- Переполнение стека Публичные вопросы и ответы
- Команды Частные вопросы и ответы для вашей команды
- предприятие Частные вопросы и ответы для вашего предприятия
- работы Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимать технический талант
- реклама Связаться с разработчиками по всему миру
Определение песочницы от Merriam-Webster
Чтобы сохранить это слово, вам необходимо войти в систему.
sand · box | \ ˈSan (d) -ˌbäks \1 : коробка или сосуд с рыхлым песком, особенно : коробка с песком для детей, чтобы играть в
2 : место, область или окружение, которые предоставляют возможности для вариаций и экспериментов, чтобы дети играли в песочнице Suttle Lodge — это не отель с полным спектром услуг.Вместо этого его лучше рассматривать как «песочницу»: она предоставляет вам все удобства, чтобы создать свой собственный идеальный опыт (Лэнс Ричардсон; такие как
a : видеоигра или часть видеоигры, в которой игрок не ограничен в достижении конкретных целей и имеет большую степень свободы для изучения, взаимодействия или изменения игровой среды … Без названия Goose Game — это песочница, в которой цели иногда напоминают предложения.Я все еще хочу вернуться туда и просто побольше пообщаться с людьми — посмотрим, что произойдет, когда я заставлю определенных персонажей преследовать меня в определенных областях, или если другие будут реагировать на определенные предметы. — Натан Грейсон — часто используется перед другой игрой в песочницу nouna. игры, в которые играют в режиме «песочницы», или специальные игры в «песочнице», позволяют игроку сразу получить доступ ко всему миру (коробке) и позволяют ему изменять этот мир по своему желанию (песку). Нет предустановленного повествования, чтобы заставить игрока бежать, прятаться или стрелять, и нет мародеров, чтобы разрушить то, что она построила.- Alexandra Langeb : изолированная среда на электронном устройстве (например, компьютере), в которой приложения не могут влиять на другие программы или данные на устройстве Разработка программного обеспечения часто происходит в изолированной программной среде, определяемой как ограниченная виртуальная среда, в которой один или несколько разработчиков могут свободно и безопасно экспериментировать с непроверенным кодом и новыми технологиями. Джанин Джанфреди Предприятия должны добавить в свои системы электронной почты приложение, которое помечает все электронные письма, содержащие ссылка или вложение.Если сотрудник щелкает ссылку или вложение, приложение запускает его в безопасной цифровой среде, называемой «песочницей», предотвращая заражение любого устройства вредоносным приложением устройством или другими подключенными к нему сотрудниками. — Кэмерон Г. Шиллинг
c business : контролируемая среда, контролируемая регулирующим органом, в рамках которого существующие правила смягчаются или удаляются, чтобы предприятия могли более свободно экспериментировать с новыми продуктами и услугами Песочница позволяет развивать услуги телемедицины с тщательным мониторингом всех аспектов безопасности, включая клинические процессы, доставку лекарств и защиту данных, одновременно создавая соответствующие правила.- Раймонд Чуа. Другие усилия Carolina Fintech Hub включают в себя поиск путей использования местных источников венчурного и корпоративного капитала для развития хороших идей. Организация работает с членами Генеральной Ассамблеи Северной Каролины над созданием первой в своем роде песочницы для финтех-технологий, которая создаст благоприятную деловую среду для деятельности стартапов-финтехов. — Деловой журнал Шарлотта (Северная Каролина)
.Что такое приложение песочница
Конфиденциальность и безопасность всегда были главными приоритетами Apple. Песочница является результатом этого обязательства. На iOS приложения были помещены в песочницу с первого дня. Это не верно для приложений MacOS. Песочница была добавлена в macOS с анонсом Mac App Store в 2010 году.
Но что такое песочница? Как это влияет на разработчиков? А почему в операционной системе работают песочницы приложений?
Зачем нужна песочница?
Песочницазначительно повышает безопасность и целостность операционной системы, ограничивая возможности приложений.Например, в iOS приложение не может получить доступ к песочнице другого приложения. Почему это важно?
Несмотря на то, что Apple просматривает каждое приложение до его поступления в App Store, процесс проверки не идеален. Возможно, что вредоносные приложения попадают в App Store. Если каждое стороннее приложение сможет получить доступ к файловой системе и изолированной программной среде других приложений, платформа вскоре будет в беспорядке.
Но приложение не должно быть вредоносным, чтобы вызвать хаос.Невинная ошибка может также вызвать хаос. Для приложений с песочницей это гораздо менее вероятно.
Что такое песочница?
По историческим причинам правила песочницы для macOS менее строгие, чем для iOS, tvOS и watchOS. Операционная система macOS и ее файловая система работают по-разному и имеют разную структуру.
Идея похожа, хотя. Каждому приложению предоставляется песочница, каталог, в котором можно хранить данные. Если приложению требуется доступ к данным на устройстве, которое не находится в песочнице приложения, ему необходимо запросить данные через системный интерфейс.И даже системные интерфейсы имеют свои ограничения. Не все доступно через системный интерфейс.
Библиотека фотографий устройства — прекрасный пример. Приложение не имеет прямого доступа к фотографиям, хранящимся на устройстве пользователя. Для доступа к фотографиям пользователя стороннему приложению необходимо использовать системный интерфейс. Идея состоит в том, что операционная система точно знает, к каким данным обращается приложение, если они не находятся в изолированной программной среде приложения.
Системные интерфейсы добавляют уровень безопасности, но они также защищают конфиденциальность пользователя.Сторонние приложения могут получать доступ к данным о здоровье пользователя через платформу HealthKit. Но пользователю также необходимо предоставить доступ к приложению, прежде чем ему разрешено читать или записывать данные о работоспособности.
Где находится песочница?
Несмотря на то, что местоположение изолированной программной среды приложения не важно с точки зрения разработки, вы можете узнать у операционной системы о ее расположении на устройстве. Следующий пример предназначен для платформы iOS.
Запустите Xcode и создайте новый проект.В классе AppDelegate
обновите приложение (_: didFinishLaunchingWithOptions :)
, как показано ниже. Мы просим операционную систему указать местонахождение домашнего каталога, корня изолированной программной среды приложения.
Функциональное приложение (_приложение: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
печать (NSHomeDirectory ())
вернуть истину
}
Если вы запустите приложение на физическом устройстве, вывод в консоли будет выглядеть примерно так.
/ вар / мобильный / Контейнеры / Данные / Применение / 1F1468AA-A6D4-4379-84C7-ABC99BDC9302
Вывод выглядит немного иначе, если вы запускаете приложение в симуляторе.
/ Пользователи / Bart / Библиотека / Разработчик / CoreSimulator / Устройства / 55B96C49-D3CE-4DFC-BE39-17CC475A8396 / данные / контейнеры / данные / приложение / 035918FB-26F5-434C-AA58-C069427EF41C
Как выглядит песочница?
Песочница приложения не начинает свою жизнь как пустой контейнер.В нем размещено несколько каталогов, и у каждого из них есть четкое назначение.
Обновите реализацию приложения (_: didFinishLaunchingWithOptions :)
, как показано ниже. Мы просим у операционной системы содержимое домашнего каталога, корня песочницы приложения.
Функциональное приложение (_приложение: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
если позволить пунктам = попробовать? Файловый менеджер.default.contentsOfDirectory (atPath: NSHomeDirectory ()) {
для элемента в элементах {
печать (пункт)
}
}
вернуть истину
}
Вывод в консоли должен выглядеть примерно так.
.com.apple.mobile_container_manager.metadata.plist
документы
Библиотека
TMP
Первый элемент — это список свойств, используемый операционной системой. Остальные элементы — это каталоги, которые находятся в каждой изолированной программной среде приложения на iOS.
Несмотря на то, что вы можете хранить данные где угодно, если они находятся в изолированной программной среде приложения, вам необходимо понимать назначение каждого из этих каталогов.Apple предоставила разработчикам ряд рекомендаций, в которых обсуждается назначение этих каталогов и, что более важно, то, как операционная система обрабатывает содержимое этих каталогов.
Например, содержимое каталога tmp не резервируется iTunes и iCloud. Как следует из названия каталога, этот каталог следует использовать только для хранения временных документов или других больших двоичных данных.
Документы
Каталог Документы идеально подходит для хранения данных, которые непосредственно связаны с пользователем.Это очень похоже на каталог Документы в macOS.
Если ваше приложение использует базу данных SQLite для хранения данных пользователя, файлы базы данных могут быть сохранены в каталоге Документы .
Библиотека
Каталог Библиотека , содержит каталоги Кэши и Предпочтения . Как следует из названия, каталог Caches идеально подходит для хранения кэшированных данных. Этот каталог может быть очищен операционной системой, когда он решит, что ему нужно освободить место на устройстве пользователя.Само собой разумеется, что этот каталог не поддерживается iTunes и iCloud.
Каталог Предпочтения содержит список свойств базы данных по умолчанию по умолчанию. Что это значит? Если вы сохраняете пару ключ-значение в базе данных по умолчанию по умолчанию, эта пара ключ-значение сохраняется в списке свойств в каталоге Предпочтения .
Добавьте следующий фрагмент в приложение (_: didFinishLaunchingWithOptions :)
и запустите приложение.
let userDefaults = UserDefaults.standard
userDefaults.set (true, forKey: "DidLaunch")
Как видите, список свойств создается и сохраняется в каталоге Предпочтения каталога Библиотека .
тпм
Временные данные должны храниться в каталоге tmp . Этот каталог время от времени очищается, чтобы убедиться, что он не занимает ненужное место на диске устройства пользователя.Как и каталог Caches , он не поддерживается iTunes и iCloud.
Комплект приложений
Само приложение не находится в песочнице. Это распространенное заблуждение. Чтобы узнать, где находится комплект приложений, вы можете запросить у комплекта приложений его URL или путь.
Bundle.main.bundleURL
Bundle.main.bundlePath
Обновите реализацию приложения (_: didFinishLaunchingWithOptions :), метод
, как показано ниже.
Функциональное приложение (_приложение: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
печать (NSHomeDirectory ())
печать (Bundle.main.bundlePath)
вернуть истину
}
Если вы запускаете приложение на физическом устройстве, вывод в консоли выглядит следующим образом. Это показывает, что пакет приложения не находится в изолированной программной среде приложения.
/ вар / мобильный / Контейнеры / Данные / Применение / 6B54E61E-2F37-4203-A11D-AED2C1E6762E
/ Var / контейнеры / Пачка / Применение / 2428465B-4D78-4C0B-B989-7290AAD27A7F / Песочница.приложение
Вы не можете и не должны изменять содержимое пакета приложений. Если пакет приложения изменяется, операционная система отказывается запускать приложение.
Осмотр Песочницы
Во время разработки может быть полезно проверить содержимое изолированной программной среды приложения. Xcode делает это очень легко. Выберите Devices из меню Xcode Window и слева выберите устройство, на котором установлено приложение.
Внизу выберите интересующее вас приложение и щелкните значок шестеренки. Вы можете показать, заменить или загрузить контейнер приложения.
Если вы используете симулятор для разработки, то это менее тривиально. Песочница приложения, установленного на симуляторе, находится в недрах каталога Library на компьютере разработчика.
К счастью, есть решение.Я использую SimPholder в течение нескольких лет, и это незаменимый инструмент для разработки Какао. Это дает вам быстрый доступ к приложениям, установленным на различных симуляторах, к которым у вас есть доступ.
Что дальше?
Важно, чтобы вы знали, что представляет собой изолированная программная среда приложения. Каждый из каталогов, которые он содержит, имеет свое назначение, и вам нужно быть осторожным, в каком каталоге вы храните данные.
,