進程隔離是為保護操作系統中進程互不干擾而設計的一組不同硬件和軟件[1]的技術。這個技術是為了避免進程A寫入進程B的情況發生。 進程的隔離實現,使用了虛擬地址空間。進程A的虛擬地址和進程B的虛擬地址不同,這樣就防止進程A將數據信息寫入進程B。

進程隔離的安全性通過禁止進程間內存的訪問可以方便實現。相比之下,一些不安全的操作系統(例如DOS[2])能夠允許任何進程對其他進程的內存進行寫操作。

受限的進程間通信 編輯

在一個有進程隔離的操作系統中,進程之間允許受限的進程間交互,如果他們相互都接受進程間通信(IPC)的協作,例如共享內存,或套接字技術。在這樣的方案下,幾乎所有的進程間的內存都和其他進程的相互隔離了,除了某些進程指定允許其他進程訪問用以協同工作的變量和內存塊。

某些環境下,系統安全策略可能不允許進程間通信(IPC)。比如在強制訪問控制系統(Mandatory access control systems)中,不同安全等級的進程是不允許相互通信的。

參考資料 編輯

  1. ^ Deconstructing Process Isolation. Aiken, Mark, Fähndrich, Manuel, Hawblitzel, Chris, Hunt, Galen, Larus, James R. Microsoft Research. Oct. 2006
  2. ^ All in one CISSP Exam Guide, 3rd Edition, Shon Harris