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

Изоляция процессов - это набор различных аппаратных и программных технологий [1], предназначенных для защиты каждого процесса от других процессов в операционной системе . Это достигается путем предотвращения записи процесса A в процесс B.

Изоляция процесса может быть реализована с помощью виртуального адресного пространства , где адресное пространство процесса A отличается от адресного пространства процесса B, что предотвращает запись A в B.

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

Ограниченное межпроцессное взаимодействие [ править ]

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

В некоторых случаях системные политики могут запрещать IPC. Например, в системах обязательного контроля доступа субъектам с разными уровнями чувствительности может быть запрещено общаться друг с другом. Последствия для безопасности в этих обстоятельствах обширны и охватывают приложения в систематике шифрования сетевых ключей, а также алгоритмы распределенного кэширования. Аналогичным образом затрагиваются протоколы, определяемые интерфейсом, такие как базовая архитектура доступа к облаку и совместное использование сети. [3]

Операционные системы [ править ]

Известные операционные системы, поддерживающие изоляцию процессов:

Веб-браузеры [ править ]

Internet Explorer 4 использовал изоляцию процессов, чтобы позволить отдельным оконным экземплярам браузера создавать собственные процессы; однако в разгар войны браузеров от этого отказались в последующих версиях, чтобы конкурировать с Netscape Navigator (который стремился сконцентрироваться на одном процессе для всего пакета Internet). К этой идее «процесс на экземпляр» вернутся только через десять лет, когда просмотр с вкладками стал более обычным явлением.

В " Многопроцессорной архитектуре " Google Chrome [4] и " Слабо связанном IE (LCIE) " в Internet Explorer 8 [5] вкладки, содержащие веб-страницы, содержатся в их собственных полу-отдельных процессах уровня ОС, которые изолированы из основного процесса браузера, чтобы предотвратить сбой одной вкладки / страницы и сбой всего браузера. Этот метод (известный как multiprocess или process-per-tab ) предназначен как для управления памятью, так и для обработки, позволяя сбой на вкладках-нарушителях отдельно от браузера и других вкладок, а также управлять безопасностью.

Браузеры с изоляцией процессов [ править ]

  • Гугл Хром
  • Internet Explorer 8 и выше
  • Сафари
  • Mozilla Firefox (по умолчанию с 57)
  • Maxthon

Языки программирования [ править ]

Erlang (язык программирования) предоставляет аналогичную концепцию в пользовательском пространстве, реализуя строго разделенные легковесные процессы.

Связанные технологии [ править ]

  • Виртуальная память и виртуальное адресное пространство позволяют изолировать пространство памяти.
  • Полиинстанция позволяет использовать зеркала общих ресурсов, где изменения, внесенные процессом A, не будут видны процессу B.

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

  • Песочница (компьютерная безопасность)
  • Бит NX

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

  1. ^ Деконструкция изоляции процесса. Эйкен, Марк, Фендрих, Мануэль, Гавблитцель, Крис, Хант, Гален, Ларус, Джеймс Р. Исследование Microsoft. Октябрь 2006 г. [1]
  2. ^ Все в одном Руководстве по экзамену CISSP, 3-е издание, Шон Харрис
  3. ^ Пал, С (2015). «Контейнеры и кластеры для периферийных облачных архитектур - обзор технологий». 3-я международная конференция «Интернет вещей и облака будущего» .
  4. ^ Многопроцессорная архитектура , блог Chromium, четверг, 11 сентября 2008 г.
  5. ^ IE8 и слабосвязанный IE (LCIE) , Энди Зейглер, вторник, 11 марта 2008 г.