Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В компьютерной безопасности , песочница представляет собой механизм безопасности для разделения запущенных программ, как правило , в целях уменьшения системных сбоев и / или уязвимостей программного обеспечения распространения. Он часто используется для выполнения непроверенных или ненадежных программ или кода, возможно, от непроверенных или ненадежных третьих сторон, поставщиков, пользователей или веб-сайтов, без риска нанести вред хост-машине или операционной системе . [1] Песочница обычно предоставляет строго контролируемый набор ресурсов для запуска гостевых программ, таких как хранилище и рабочее пространство памяти . Доступ к сети, возможность проверки хост-системы или чтения с устройств ввода обычно запрещены или сильно ограничены.

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

Реализации [ править ]

Песочница реализуется путем выполнения программного обеспечения в ограниченной среде операционной системы, что позволяет контролировать ресурсы (например, файловые дескрипторы , память, пространство файловой системы и т. Д.), Которые может использовать процесс. [3]

Примеры реализации песочницы включают следующее:

  • Изолированная среда приложений Linux , построенная на Seccomp , cgroups и пространствах имен Linux . В частности, используется Systemd , Google Chrome , Firefox , Firejail.
  • Android была первой основной операционной системой, которая реализовала полную изолированную программную среду приложений, построенную путем присвоения каждому приложению собственного идентификатора пользователя Linux. [4]
  • Apple App Sandbox требуется для приложений, распространяемых через Apple Mac App Store и iOS / iPadOS App Store , и рекомендуется для других подписанных приложений. [5] [6]
  • Google Sandboxed API [7]
  • Острог : ограничения сетевого доступа и ограниченное пространство имена файловой системы. На виртуальном хостинге чаще всего используются тюрьмы . [8]
  • Выполнение на основе правил дает пользователям полный контроль над тем, какие процессы запускаются, порождаются (другими приложениями) или им разрешено внедрять код в другие приложения и иметь доступ к сети, за счет того, что система назначает уровни доступа для пользователей или программ в соответствии с набор установленных правил. [9] Он также может контролировать безопасность файлов / реестра (какие программы могут читать и записывать в файловую систему / реестр). В такой среде у вирусов и троянов меньше возможностей заразить компьютер. В SELinux и AppArmor основы безопасности две такие реализации для Linux .
  • Виртуальные машины имитируют полный хост-компьютер, на котором обычная операционная система может загружаться и работать как на реальном оборудовании. Гостевая операционная система работает изолированно в том смысле, что она не работает отрицательно [ требуется пояснение ] на хосте и может получить доступ к ресурсам хоста только через эмулятор.
  • Песочница на собственных хостах: исследователи в области безопасности в значительной степени полагаются на технологии песочницы для анализа поведения вредоносных программ. Создавая среду, которая имитирует или копирует целевые рабочие столы, исследователи могут оценить, как вредоносное ПО заражает и компрометирует целевой хост. Многочисленные сервисы анализа вредоносных программ основаны на технологии песочницы. [10]
  • Google Native Client - это песочница для эффективного и безопасного запуска скомпилированного кода C и C ++ в браузере, независимо от операционной системы пользователя. [11]
  • Capability систему можно рассматривать как Песочницу механизм мелкозернистого, в котором программа данных непрозрачные жетоны , когда породил и иметь возможность делать определенные вещи , основываясь на том, что лексемы они держат. Реализации на основе возможностей могут работать на разных уровнях, от ядра до пользовательского пространства. Примером "песочницы" на основе возможностей пользователя является отрисовка HTML в веб-браузере .
  • Secure Computing Mode (seccomp) - это песочница, встроенная в ядро ​​Linux. При включении в строгом режиме, Seccomp позволяет только write(), read(), exit()и sigreturn()системные вызовы.
  • В HTML5 есть атрибут «песочница» для использования с фреймами . [12]
  • Виртуальные машины Java включают песочницу для ограничения действий ненадежного кода, например Java-апплета .
  • .NET Common Language Runtime обеспечивает безопасность доступа для кода, чтобы наложить ограничения на ненадежный код.
  • Windows Sandbox, доступная с Windows 10 1903 (недоступна в Windows 10 Home).
  • Software Fault Isolation (SFI) [13] позволяет запускать ненадежный собственный код, помещая в изолированную среду все инструкции сборки, сохранения, чтения и перехода в изолированные сегменты памяти.
  • Windows Vista и более поздние выпуски включают запущенный процесс в «низком» режиме, известный как «Контроль учетных записей пользователей» (UAC) , который позволяет выполнять запись только в определенный каталог и разделы реестра. Windows 10 , начиная с версии 1903 (выпущенной в мае 2019 г.), предоставляет функцию, известную как «Песочница Windows: изолированная, временная среда рабочего стола, в которой вы можете запускать ненадежное программное обеспечение, не опасаясь длительного воздействия на свой компьютер». [14]

Вот некоторые из вариантов использования песочниц:

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

См. Также [ править ]

  • Песочница
  • seccomp
  • Песочница тени
  • Tor (сеть анонимности)

Ссылки [ править ]

  1. ^ Голдберг, Ян; Вагнер, Давид; Томас, Рэнди и Брюэр, Эрик (1996). «Безопасная среда для ненадежных вспомогательных приложений (ограничение хитрого хакера)» (PDF) . Материалы шестого симпозиума USENIX по безопасности UNIX . Проверено 25 октября 2011 года .
  2. ^ Гейер, Эрик (2012-01-16). «Как обезопасить свой компьютер с помощью песочницы» . TechHive . Проверено 3 июля 2014 .
  3. ^ «Приложения для песочницы» (PDF) . 2001 . Проверено 7 мая 2013 года .
  4. ^ «Тестовая среда приложения - проект с открытым исходным кодом Android» . Проверено 2 апреля 2021 .
  5. ^ «О песочнице приложения» . developer.apple.com . Проверено 9 декабря 2020 .
  6. ^ «Безопасность рабочего процесса в iOS и iPadOS» . Служба поддержки Apple . Проверено 4 апреля 2021 .
  7. ^ google / sandboxed-api , Google, 8 декабря 2020 г. , получено 9 декабря 2020 г.
  8. ^ "Автоматическая песочница безопасная система" . Проверено 30 января 2015 .
  9. ^ "Безопасность компьютерных систем и контроль доступа" . 1991. Архивировано из оригинального 28 мая 2013 года . Проверено 17 мая 2013 года .
  10. ^ «Собственная песочница клиента - ненадежный собственный код x86» (PDF) . Проверено 3 января 2015 .
  11. ^ Добро пожаловать в собственный клиент
  12. ^ Блог группы разработчиков Internet Explorer. «Глубокая защита: блокировка мэш-апов с помощью песочницы HTML5» . IEBlog .
  13. ^ Wahbe, Роберт (1993). «Эффективное программное устранение неисправностей» (PDF) .
  14. ^ "Windows Sandbox" . 2018-12-18 . Проверено 7 января 2010 .

Внешние ссылки [ править ]

  • Безопасность программного обеспечения Linux: предотвращение и устранение ошибок безопасности
  • Песочница - Проекты Chromium
  • Справочная страница FreeBSD capsicum (4)  - облегченная ОС и среда песочницы
  • Справочная страница OpenBSD pledge (2)  - способ ограничить системные операции
  • Важность тестирования песочницы {песочница} Важность песочницы в уязвимости нулевого дня