stringtranslate.com

Изоляция процесса

Изоляция процессов — это набор различных аппаратных и программных технологий [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] вкладки, содержащие веб-страницы, содержатся в собственных полуотдельных процессах уровня ОС, которые изолированы от основного процесса браузера, чтобы предотвратить сбой одной вкладки/страницы от сбоя всего браузера. Этот метод (известный как многопроцессный или процесс-на-вкладку ) предназначен как для управления памятью, так и для обработки, позволяя проблемным вкладкам сбоить отдельно от браузера и других вкладок, а также для управления безопасностью.

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

Языки программирования

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

Связанные технологии

Смотрите также

Ссылки

  1. ^ Эйкен, Марк; Фендрих, Мануэль; Хавблитцель, Крис; Хант, Гален; Ларус, Джеймс Р. (октябрь 2006 г.). Деконструкция изоляции процессов (PDF) . Семинар ACM SIGPLAN по производительности и корректности систем памяти. doi :10.1145/1178597.1178599.
  2. ^ Руководство по подготовке к экзамену CISSP в одном месте, 3-е издание, Шон Харрис
  3. ^ Pahl, Claus; Lee, Brian (2015). Контейнеры и кластеры для архитектур периферийного облака — обзор технологий (PDF) . 3-я международная конференция по будущему Интернета вещей и облака. doi :10.1109/FiCloud.2015.35.
  4. ^ "Многопроцессная архитектура". Блог Chromium . 11 сентября 2008 г.
  5. Энди Зейглер (11 марта 2008 г.). "IE8 и слабосвязанный IE (LCIE)". Архивировано из оригинала 13 марта 2010 г.