Изоляция процесса
Изоляция процессов — это набор различных аппаратных и программных технологий. [1] предназначен для защиты каждого процесса от других процессов операционной системы . Это достигается путем предотвращения записи процесса A в процесс B.
Изоляция процесса может быть реализована с помощью виртуального адресного пространства , где адресное пространство процесса A отличается от адресного пространства процесса B, что предотвращает запись A в B.
Безопасность легче обеспечить, запретив межпроцессный доступ к памяти, в отличие от менее безопасных архитектур, таких как DOS , в которых любой процесс может записывать в любую память любого другого процесса. [2]
Ограниченное межпроцессное взаимодействие
[ редактировать ]В системе с изоляцией процессов ограниченное (контролируемое) взаимодействие между процессами все еще может быть разрешено по каналам межпроцессного взаимодействия (IPC), таким как общая память , локальные сокеты или интернет-сокеты . В этой схеме вся память процесса изолирована от других процессов, за исключением тех случаев, когда процесс допускает ввод данных от взаимодействующих процессов.
В некоторых случаях системные политики могут запрещать IPC. Например, в системах обязательного контроля доступа субъектам с разными уровнями чувствительности может быть запрещено общаться друг с другом. Последствиями безопасности в этих обстоятельствах являются широкие и охватывающие приложения в систематике шифрования сетевых ключей, а также в алгоритмах распределенного кэширования. Аналогично затрагиваются протоколы, определяемые интерфейсом, такие как базовая архитектура доступа к облаку и совместное использование сети. [3]
Операционные системы
[ редактировать ]К операционным системам, поддерживающим изоляцию процессов путем предоставления отдельных адресных пространств для каждого процесса, относятся:
- Unix-подобные системы, такие как Linux , macOS , Solaris и AIX.
- СМС
- Windows НТ
Веб-браузеры
[ редактировать ]Internet Explorer 4 использовал изоляцию процессов, чтобы позволить отдельным оконным экземплярам браузера иметь собственные процессы; однако в разгар войн браузеров от этого отказались в последующих версиях, чтобы составить конкуренцию Netscape Navigator (который стремился сконцентрироваться на одном процессе для всего пакета Интернета). К этой идее по-экземплярного процесса не будут возвращаться до тех пор, пока десять лет спустя, когда просмотр с вкладками не станет более распространенным явлением.
В Google Chrome « Многопроцессной архитектуре » [4] и » Internet Explorer 8 « Слабосвязанный IE (LCIE) , [5] вкладки, содержащие веб-страницы, содержатся в собственных полуотдельных процессах уровня ОС, которые изолированы от основного процесса браузера, чтобы предотвратить сбой одной вкладки/страницы и сбой всего браузера. Этот метод (известный как multiprocess или Process-per-Tab ) предназначен как для управления памятью, так и для обработки, позволяя вкладкам-нарушителям аварийно завершать работу отдельно от браузера и других вкладок, а также управлять безопасностью.
Браузеры с изоляцией процессов
[ редактировать ]- Гугл Хром
- Internet Explorer 8 и более поздние версии
- Сафари
- Mozilla Firefox (по умолчанию с версии 57)
- Макстон
Языки программирования
[ редактировать ]Erlang (язык программирования) предоставляет аналогичную концепцию в пользовательском пространстве, реализуя строго разделенные легкие процессы.
Связанные технологии
[ редактировать ]- Виртуальная память и виртуальное адресное пространство позволяют изолировать пространство памяти.
- Полиэкземпляризация позволяет создавать зеркала общих ресурсов, где изменения процесса A не будут видны процессу B.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Эйкен, Марк; Фендрих, Мануэль; Хаублицель, Крис; Хант, Гален; Ларус, Джеймс Р. (октябрь 2006 г.). Деконструкция изоляции процессов (PDF) . Семинар ACM SIGPLAN по производительности и корректности систем памяти. дои : 10.1145/1178597.1178599 .
- ^ « Все в одном руководстве по экзамену CISSP», 3-е издание, Шон Харрис
- ^ Паль, Клаус; Ли, Брайан (2015). Контейнеры и кластеры для периферийных облачных архитектур: обзор технологий (PDF) . 3-я Международная конференция по будущему Интернета вещей и облаков. дои : 10.1109/FiCloud.2015.35 .
- ^ «Многопроцессная архитектура» . Блог Хрома . 11 сентября 2008 г.
- ^ Энди Зейглер (11 марта 2008 г.). «IE8 и слабосвязанный IE (LCIE)» . Архивировано из оригинала 13 марта 2010 года.