一種操作系統(tǒng)進(jìn)程控制方法
【專利摘要】本發(fā)明提供了一種操作系統(tǒng)進(jìn)程控制方法。具體方法步驟為:給系統(tǒng)下的每一個(gè)可執(zhí)行文件一個(gè)唯一的標(biāo)識(shí);把所述標(biāo)識(shí)按照?qǐng)?zhí)行需要放入執(zhí)行列表,組成進(jìn)程控制策略;在系統(tǒng)內(nèi)核中插入內(nèi)核模塊,替換hook點(diǎn)函數(shù);內(nèi)核模塊接收進(jìn)程控制策略并解析,維護(hù)執(zhí)行列表,在計(jì)算機(jī)上運(yùn)行任何程序和腳本時(shí),內(nèi)核模塊根據(jù)執(zhí)行列表的進(jìn)程控制策略決定進(jìn)程和腳本的執(zhí)行方法。在最少改變內(nèi)核代碼的情況下,實(shí)現(xiàn)強(qiáng)制訪問(wèn)控制模塊,對(duì)Linux內(nèi)核影響很小,效率很高,不會(huì)帶來(lái)很大的開銷。
【專利說(shuō)明】一種操作系統(tǒng)進(jìn)程控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種操作系統(tǒng)進(jìn)程控制方法,特別是涉及一種適用于Linux操作系統(tǒng)的系統(tǒng)進(jìn)程控制方法。
【背景技術(shù)】
[0002]Linux安全子系統(tǒng)。其是一種輕量級(jí)通用訪問(wèn)控制框架,適合于多種訪問(wèn)控制模型在它上面以內(nèi)核可加載模塊的形式實(shí)現(xiàn)。用戶可以根據(jù)自己的需求選擇合適的安全模塊加載到內(nèi)核上實(shí)現(xiàn)。
[0003]在現(xiàn)有技術(shù)中進(jìn)程控制中,存在著許多管理缺陷,如在systrace系統(tǒng)調(diào)用中的出現(xiàn)過(guò)的系統(tǒng)調(diào)用干預(yù),因?yàn)樗荒軘U(kuò)展到多處理器內(nèi)核,并且它受制于參數(shù)替換攻擊。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問(wèn)題是提供一種Linux操縱系統(tǒng)中,在最少改變內(nèi)核代碼的情況下,實(shí)現(xiàn)強(qiáng)制訪問(wèn)控制模塊的方法。
[0005]本發(fā)明采用的技術(shù)方案如下:一種操作系統(tǒng)進(jìn)程控制方法,具體方法步驟為:步驟一、給系統(tǒng)下的每一個(gè)可執(zhí)行文件一個(gè)唯一的標(biāo)識(shí);步驟二、把所述標(biāo)識(shí)按照?qǐng)?zhí)行需要放入執(zhí)行列表,組成進(jìn)程控制策略;步驟三、在系統(tǒng)內(nèi)核中插入內(nèi)核模塊,替換hook點(diǎn)函數(shù);步驟四、內(nèi)核模塊接收進(jìn)程控制策略并解析,維護(hù)執(zhí)行列表,在計(jì)算機(jī)上運(yùn)行任何程序和腳本時(shí),內(nèi)核模塊根據(jù)執(zhí)行列表的進(jìn)程控制策略決定進(jìn)程和腳本的執(zhí)行方法。
[0006]作為優(yōu)選,所述步驟一中的唯一標(biāo)識(shí)為采用md5計(jì)算方法,計(jì)算出的每個(gè)可執(zhí)行文件的特征值。
[0007]作為優(yōu)選,所述步驟二中,把標(biāo)識(shí)按照禁止啟動(dòng)和允許運(yùn)行的執(zhí)行需要放入黑白名單執(zhí)行列表。
[0008]作為優(yōu)選,所述黑名單上的進(jìn)程是禁止啟動(dòng)的,白名單上的進(jìn)程是允許運(yùn)行的。
[0009]作為優(yōu)選,所述系統(tǒng)內(nèi)核為基于內(nèi)核安全子系統(tǒng)框架的。
[0010]作為優(yōu)選,所述步驟一和步驟二在服務(wù)器上完成,所述進(jìn)程控制策略由服務(wù)器下發(fā)到需要進(jìn)行進(jìn)程控制的計(jì)算機(jī),并存儲(chǔ)在內(nèi)存中。
[0011]作為優(yōu)選,當(dāng)有新的進(jìn)程控制策略下發(fā)到需要進(jìn)行進(jìn)程控制的計(jì)算機(jī)時(shí),新的進(jìn)程控制策略替換之前的進(jìn)程控制策略。
[0012]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:在最少改變內(nèi)核代碼的情況下,實(shí)現(xiàn)強(qiáng)制訪問(wèn)控制模塊,對(duì)Linux內(nèi)核影響很小,效率很高,不會(huì)帶來(lái)很大的開銷。
[0013]進(jìn)一步的有益效果為:
1、基于內(nèi)核安全子系統(tǒng)框架,支持對(duì)所有進(jìn)程和腳本的控制,可擴(kuò)展性強(qiáng);
2、進(jìn)程控制策略由服務(wù)器下發(fā)到需要進(jìn)行進(jìn)程控制的計(jì)算機(jī),控制模塊啟動(dòng)后,可以支持控制策略的實(shí)時(shí)響應(yīng)。策略修改后,控制方式相應(yīng)修改,不用重新啟動(dòng)計(jì)算機(jī),后臺(tái)運(yùn)行,自動(dòng)啟動(dòng),不需要關(guān)心的用戶甚至感覺(jué)不到控制模塊的存在,控制靈活、準(zhǔn)確,進(jìn)程控制策略可在策略配置管理程序上根據(jù)需要隨時(shí)修改,不同的用戶可根據(jù)需要進(jìn)行定制?!揪唧w實(shí)施方式】
[0014]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0015]本說(shuō)明書(包括任何附加權(quán)利要求和摘要)中公開的任一特征,除非特別敘述,均可被其他等效或者具有類似目的的替代特征加以替換。即,除非特別敘述,每個(gè)特征只是一系列等效或類似特征中的一個(gè)例子而已。
[0016]本具體實(shí)施例以Linux操縱系統(tǒng)為例進(jìn)行具體說(shuō)明。
[0017]一種操作系統(tǒng)進(jìn)程控制方法,具體方法步驟為:步驟一、給系統(tǒng)下的每一個(gè)可執(zhí)行文件一個(gè)唯一的標(biāo)識(shí);步驟二、把所述標(biāo)識(shí)按照?qǐng)?zhí)行需要放入執(zhí)行列表,組成進(jìn)程控制策略;步驟三、在系統(tǒng)內(nèi)核中插入內(nèi)核模塊,替換hook點(diǎn)函數(shù);步驟四、內(nèi)核模塊接收進(jìn)程控制策略并解析,維護(hù)執(zhí)行列表,在計(jì)算機(jī)上運(yùn)行任何程序和腳本時(shí),內(nèi)核模塊根據(jù)執(zhí)行列表的進(jìn)程控制策略決定進(jìn)程和腳本的執(zhí)行方法。
[0018]所述步驟一中的唯一標(biāo)識(shí)為采用md5計(jì)算方法,計(jì)算出的每個(gè)可執(zhí)行文件的特征值。掃描Linux下的可執(zhí)行文件,包括ELF格式的文件和有執(zhí)行權(quán)限的腳本程序文件,計(jì)算出每個(gè)文件的特征值,該特征值用于唯一標(biāo)識(shí)可執(zhí)行文件。采用md5算法,可以達(dá)到精確控制某個(gè)進(jìn)程的目的。
[0019]采用系統(tǒng)內(nèi)核模塊的形式,可動(dòng)態(tài)加載。模塊安裝到系統(tǒng)中后,會(huì)隨系統(tǒng)開機(jī)自動(dòng)運(yùn)行,達(dá)到控制進(jìn)程執(zhí)行權(quán)限的目的。
[0020]所述步驟二中,把標(biāo)識(shí)按照禁止啟動(dòng)和允許運(yùn)行的執(zhí)行需要放入黑白名單執(zhí)行列表。在本具體實(shí)施例中,用戶把掃描出來(lái)的進(jìn)程按需要?jiǎng)澣牒诎酌麊?,組成進(jìn)程控制策略。
[0021]其中,所述黑名單上的進(jìn)程是禁止啟動(dòng)的,白名單上的進(jìn)程是允許運(yùn)行的。在機(jī)器上運(yùn)行任何進(jìn)程和腳本時(shí),內(nèi)核模塊根據(jù)黑白名單決定進(jìn)程和腳本的執(zhí)行放行與否。根據(jù)外設(shè)控制策略,在內(nèi)核維護(hù)黑白名單鏈表,對(duì)當(dāng)前準(zhǔn)備執(zhí)行的進(jìn)程進(jìn)行過(guò)濾。如果當(dāng)前進(jìn)程在黑名單中就向內(nèi)核返回相應(yīng)結(jié)果,從而系統(tǒng)會(huì)禁止當(dāng)前進(jìn)程執(zhí)行,達(dá)到禁止進(jìn)程執(zhí)行目的,如果當(dāng)前進(jìn)程通過(guò)過(guò)濾被放過(guò),同樣向內(nèi)核返回放過(guò)的結(jié)果,使之能正常啟動(dòng)。
[0022]在本具體實(shí)施例中,所述步驟一和步驟二在服務(wù)器上完成,所述進(jìn)程控制策略由服務(wù)器下發(fā)到需要進(jìn)行進(jìn)程控制的計(jì)算機(jī),并存儲(chǔ)在內(nèi)存中??刂颇K啟動(dòng)后,可以支持控制策略的實(shí)時(shí)響應(yīng)。策略修改后,控制方式相應(yīng)修改,不用重新啟動(dòng)計(jì)算機(jī)。服務(wù)器后臺(tái)啟動(dòng),自動(dòng)啟動(dòng),不需要關(guān)心的用戶甚至感覺(jué)不到控制模塊的存在??刂旗`活、準(zhǔn)確,進(jìn)程控制策略可在策略配置管理程序上根據(jù)需要隨時(shí)修改,不同的用戶可根據(jù)需要進(jìn)行定制。
[0023]所述系統(tǒng)內(nèi)核為基于內(nèi)核安全子系統(tǒng)框架的,能擴(kuò)展到多處理器內(nèi)核,可擴(kuò)展性強(qiáng)??迤脚_(tái)適用,對(duì)各類Linux系統(tǒng)的計(jì)算機(jī),均可實(shí)現(xiàn)對(duì)進(jìn)程的控制。
[0024]當(dāng)有新的進(jìn)程控制策略下發(fā)到需要進(jìn)行進(jìn)程控制的計(jì)算機(jī)時(shí),新的進(jìn)程控制策略替換之前的進(jìn)程控制策略。
[0025]本發(fā)明對(duì)Linux內(nèi)核影響很小,效率很高,不會(huì)帶來(lái)很大的開銷。
[0026]用戶正常使用計(jì)算機(jī),當(dāng)有新的進(jìn)程準(zhǔn)備執(zhí)行時(shí),進(jìn)程控制模塊會(huì)自動(dòng)檢測(cè)策略配置,判斷當(dāng)前進(jìn)程是否有執(zhí)行權(quán)限,并對(duì)該進(jìn)程執(zhí)行進(jìn)行控制,控制過(guò)程無(wú)需用戶參與即可達(dá)到目的。
[0027]對(duì)先前為放行的進(jìn)程,如想禁用,需在策略配置管理程序上修改其控制策略;對(duì)已禁止的進(jìn)程,如想重新放行,同樣只需在策略配置管理程序上修改其控制策略,然后重新下發(fā)后執(zhí)行該進(jìn)程即可。
【權(quán)利要求】
1.一種操作系統(tǒng)進(jìn)程控制方法,具體方法步驟為:步驟一、給系統(tǒng)下的每一個(gè)可執(zhí)行文件一個(gè)唯一的標(biāo)識(shí);步驟二、把所述標(biāo)識(shí)按照?qǐng)?zhí)行需要放入執(zhí)行列表,組成進(jìn)程控制策略;步驟三、在系統(tǒng)內(nèi)核中插入內(nèi)核模塊,替換hook點(diǎn)函數(shù);步驟四、內(nèi)核模塊接收進(jìn)程控制策略并解析,維護(hù)執(zhí)行列表,在計(jì)算機(jī)上運(yùn)行任何程序和腳本時(shí),內(nèi)核模塊根據(jù)執(zhí)行列表的進(jìn)程控制策略決定進(jìn)程和腳本的執(zhí)行方法。
2.根據(jù)權(quán)利要求1所述的操作系統(tǒng)進(jìn)程控制方法,所述步驟一中的唯一標(biāo)識(shí)為采用md5計(jì)算方法,計(jì)算出的每個(gè)可執(zhí)行文件的特征值。
3.根據(jù)權(quán)利要求1所述的操作系統(tǒng)進(jìn)程控制方法,所述步驟二中,把標(biāo)識(shí)按照禁止啟動(dòng)和允許運(yùn)行的執(zhí)行需要放入黑白名單執(zhí)行列表。
4.根據(jù)權(quán)利要求3所述的操作系統(tǒng)進(jìn)程控制方法,所述黑名單上的進(jìn)程是禁止啟動(dòng)的,白名單上的進(jìn)程是允許運(yùn)行的。
5.根據(jù)權(quán)利要求1所述的操作系統(tǒng)進(jìn)程控制方法,所述系統(tǒng)內(nèi)核為基于內(nèi)核安全子系統(tǒng)框架的。
6.根據(jù)權(quán)利要求1所述的操作系統(tǒng)進(jìn)程控制方法,所述步驟一和步驟二在服務(wù)器上完成,所述進(jìn)程控制策略由服務(wù)器下發(fā)到需要進(jìn)行進(jìn)程控制的計(jì)算機(jī),并存儲(chǔ)在內(nèi)存中。
7.根據(jù)權(quán)利要求6所述的操作系統(tǒng)進(jìn)程控制方法,當(dāng)有新的進(jìn)程控制策略下發(fā)到需要進(jìn)行進(jìn)程控制的計(jì)算機(jī)時(shí),新的進(jìn)程控制策略替換之前的進(jìn)程控制策略。
【文檔編號(hào)】G06F21/51GK103778006SQ201410047995
【公開日】2014年5月7日 申請(qǐng)日期:2014年2月12日 優(yōu)先權(quán)日:2014年2月12日
【發(fā)明者】彭景 , 段銀超, 宋文科, 楊天平, 唐曉蘭, 楊偉偉 申請(qǐng)人:成都衛(wèi)士通信息安全技術(shù)有限公司