[發明專利]宿主機與虛擬機文件系統隔離方法和裝置有效
| 申請號: | 201310627409.1 | 申請日: | 2013-11-26 |
| 公開(公告)號: | CN103593607A | 公開(公告)日: | 2014-02-19 |
| 發明(設計)人: | 魏子然 | 申請(專利權)人: | 北京搜狐新媒體信息技術有限公司 |
| 主分類號: | G06F21/53 | 分類號: | G06F21/53;G06F9/455 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 100084 北京市海淀區中關*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 宿主 虛擬機 文件系統 隔離 方法 裝置 | ||
技術領域
本發明涉及計算機技術領域,特別是涉及宿主機與虛擬機文件系統隔離方法和裝置。
背景技術
Linux?container(lxc)中運行虛擬機時,將宿主機的proc文件系統直接掛載到虛擬機的根文件系統中。虛擬機與宿主機使用同一個proc文件系統,proc文件系統中與宿主機與虛擬機對應的文件,除進程文件外,其他的文件都完全相同,并且,虛擬機與宿主機對proc文件系統中的所有文件的權限相同。因此,虛擬機可以對proc文件系統進行讀寫操作,會造成宿主機信息泄露或內核崩潰等問題。例如,在虛擬機中使用top命令查看/proc/stat文件時,不僅可以查看虛擬機CPU的使用情況,也可以查看到宿主機的CPU使用情況;在虛擬機中向/proc/sysrq-irq文件中寫入字符c時,會使導致宿主機的內核崩潰,整個系統無法運行。
為了解決宿主機中信息泄露的問題,虛擬機將宿主機的proc文件系統掛載到臨時目錄下,例如:tmp/proc,再由虛擬機使用fuse機制虛擬一個虛擬proc文件系統,執行mount-bind/tmp/proc/proc,使用虛擬proc文件系統替換宿主機proc文件系統。當虛擬機執行top命令時,讀取proc文件中的tmp/proc/stat文件時,由于proc文件與虛擬proc文件綁定,因此,讀取的是fuse機制虛擬出的proc文件系統。但是,采用fuse機制虛擬一個虛擬proc文件,以及用虛擬proc文件系統替換宿主機proc文件系統的命令需要在虛擬機的啟動腳本中執行,而虛擬機的啟動腳本可以被虛擬機的用戶查看,用戶可以對虛擬文件系統實行反向操作(例如:mount-bind的反向操作為umount),即可解除宿主機proc文件系統與虛擬proc文件系統的綁定,解除后再使用top命令仍可以獲取宿主機的信息,安全性差。
為了解決宿主機內核崩潰的問題,采用Linux系統中的Application?Armor模塊,Application?Armor模塊是Linux系統內核中的一個安全模塊,可以將每個程序與一個安全配置文件關聯,從而限制程序的功能。可以通過Application?Armor模塊限制虛擬機對/proc/sysrq-irq文件的操作權限,使得虛擬機無法對/proc/sysrq-irq文件進行寫操作。但是,Application?Armor模塊只能在Linux2.6.36以后的版本中才能使用,現有主流的Linux2.6.32版本中無法使用。
可見,上述兩種方式都不能很好的實現宿主機與虛擬機之間的有效隔離。
發明內容
有鑒于此,本發明提供了一種宿主機與虛擬機文件系統隔離方法和裝置,宿主機虛擬一個虛擬proc文件系統,將虛擬proc文件系統中的目標指定文件與虛擬機中掛載的proc文件系統的源指定文件綁定,打開源指定文件,防止對綁定的反向操作,并可以應用于所有版本的linux系統中。
一種宿主機與虛擬機文件系統隔離方法,所述方法包括:
宿主機采用fuse機制虛擬一個虛擬proc文件系統,將所述虛擬proc文件系統掛載到臨時目錄中;
宿主機在所述虛擬proc文件系統注冊目標指定文件的回調函數,所述回調函數用于處理虛擬機的數據信息;
宿主機將proc文件系統掛載到虛擬機的rootfs中;
宿主機將所述虛擬proc文件系統中的目標指定文件與所述proc文件系統中的源指定文件綁定,所述綁定的目標指定文件與源指定文件的文件名相同;
宿主機調用open指令打開所述源指定文件。
可選的,所述目標指定文件包括:
目標stat文件、目標meminfo文件和目標sysrq-irq文件。
可選的,所述宿主機在所述虛擬proc文件系統注冊目標指定文件的回調函數包括:
所述宿主機在所述虛擬proc文件系統中注冊目標stat文件的open、read和write函數,所述open、read和write函數用于打開、讀取和寫入虛擬機的CPU使用數據;
所述宿主機在所述虛擬proc文件系統中注冊目標meminfo文件的open、read和write函數,所述open、read和write函數用于打開、讀取和寫入虛擬機內存以及交換分區的使用數據;
所述宿主機在所述虛擬proc文件系統中注冊目標sysrq-irq文件的open、read和write函數,所述open、read和write函數用于打開、讀取和寫入目標sysrq-irq文件的數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京搜狐新媒體信息技術有限公司,未經北京搜狐新媒體信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310627409.1/2.html,轉載請聲明來源鉆瓜專利網。





