專利名稱::提高嵌入式Linux內(nèi)核安全性的應(yīng)用程序啟動(dòng)方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明一般涉及一種用于提高嵌入式Linux內(nèi)核安全性的應(yīng)用程序啟動(dòng)方法和系統(tǒng),具體來(lái)說(shuō),涉及一種通過(guò)發(fā)放超級(jí)用戶權(quán)限提高嵌入式Lmux內(nèi)核安全性的應(yīng)用程序啟動(dòng)方法和系統(tǒng)。
背景技術(shù):
:隨著硬件處理器技術(shù)的發(fā)展,嵌入式系統(tǒng)的性能也得到極大的提高。因此,可通過(guò)固定線纜和移動(dòng)網(wǎng)絡(luò)將嵌入式系統(tǒng)連接到外部通信裝置。因?yàn)榭稍赑DP和PMP裝置中使用諸如Linux的通用操作系統(tǒng),所以用戶或者程序產(chǎn)生器創(chuàng)建的外部程序可在所述嵌入式系統(tǒng)中被運(yùn)行。因此,嵌入式系統(tǒng)的安全性變得很重要。在諸如Linux的通用操作系統(tǒng)中,安全方法基于多用戶環(huán)境(諸如傳統(tǒng)的服務(wù)器-客戶機(jī)環(huán)境)。在多用戶環(huán)境中,操作系統(tǒng)應(yīng)當(dāng)將用戶處理器從系統(tǒng)管理處理器中分離出來(lái),以保護(hù)系統(tǒng)不受用戶影響。為此,所述操作系統(tǒng)保留一個(gè)具有用于管理系統(tǒng)所需的大部分權(quán)限的獨(dú)立的超級(jí)用戶帳戶。在Unix類型的操作系統(tǒng)中(諸如Linux),超級(jí)用戶帳戶通常被稱為根帳戶。所述根帳戶具有用于將特定端口與處理器進(jìn)行綁定、載入內(nèi)核模塊、安裝和卸載文件系統(tǒng)以及各種系統(tǒng)管理的權(quán)限。因此,在傳統(tǒng)的Linux操作系統(tǒng)中,基于用戶帳戶而不是^f艮帳戶來(lái)設(shè)計(jì)安全方法。典型示例是安全內(nèi)核。安全內(nèi)核提高內(nèi)核的內(nèi)部安全性。也就是說(shuō),只允許擁有相應(yīng)文件的用戶的用戶帳戶訪問(wèn)該文件,并且允許擁有相應(yīng)權(quán)限的用戶帳戶進(jìn)行網(wǎng)絡(luò)連接和處理器間的通信。因?yàn)榍度胧较到y(tǒng)通常在單一用戶環(huán)境下而不是多用戶環(huán)境(諸如服務(wù)器-客戶機(jī)環(huán)境)下操作,所以一個(gè)用戶使用嵌入式系統(tǒng)。因此,在嵌入式系統(tǒng)中,不需要用戶帳戶,而使用根帳戶運(yùn)行多數(shù)處理器。圖1是示出根據(jù)傳統(tǒng)安全方法在嵌入式系統(tǒng)中運(yùn)行應(yīng)用程序的環(huán)境的框圖。參照?qǐng)D1,使用根帳戶運(yùn)行應(yīng)用程序110、120和130的處理器的每一個(gè)(以下稱為應(yīng)用程序處理器),并且每個(gè)處理器可沒(méi)有任何限制地訪問(wèn)Lmux內(nèi)核IOO。因?yàn)榧词巩?dāng)應(yīng)用程序處理器110、120和130需要部分超級(jí)用戶權(quán)限或者不需要超級(jí)用戶權(quán)限時(shí)也可以行使與超級(jí)用戶一樣的全部權(quán)限(以下稱為超級(jí)用戶權(quán)限),所以他們會(huì)不必要地訪問(wèn)嵌入式系統(tǒng)。因此,根據(jù)基于多用戶環(huán)境的傳統(tǒng)安全方法在嵌入式系統(tǒng)中運(yùn)行應(yīng)用程序是不是有效的方法并且對(duì)嵌入式系統(tǒng)安全性構(gòu)成威脅。
發(fā)明內(nèi)容為了解決以上討論的現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的主要目的在于實(shí)際解決至少以上問(wèn)題和/或缺點(diǎn),并且至少提供以下優(yōu)點(diǎn)。因此,本發(fā)明的一個(gè)目的在于提供一種使用傳統(tǒng)安全方法的應(yīng)用程序啟動(dòng)方法和系統(tǒng),所述方法和系統(tǒng)在Linux操作系統(tǒng)中使用,并且所述方法和系統(tǒng)在不對(duì)傳統(tǒng)安全方法進(jìn)行大規(guī)模修改的情況下在嵌入式系統(tǒng)中被使用。根據(jù)本發(fā)明的一方面,提供一種在嵌入式Linux內(nèi)核中啟動(dòng)應(yīng)用程序的方法,所述方法包括以下步驟搜索關(guān)于用戶選擇的應(yīng)用程序的安全設(shè)置信息;將應(yīng)用程序的處理器的用戶帳戶改為與所述安全設(shè)置信息中的應(yīng)用程序相關(guān)的用戶標(biāo)識(shí)(ID);根據(jù)所述安全設(shè)置信息中的權(quán)能的設(shè)置信息設(shè)置處理器的權(quán)能;根據(jù)安全設(shè)置信息中的基本目錄來(lái)改變處理器的基本目錄;和啟動(dòng)應(yīng)用程序。所述方法還包括在搜索安全設(shè)置信息的步驟之前,安裝應(yīng)用程序的步驟。所述安裝應(yīng)用程序的步驟可包括以下步驟為將被安裝的應(yīng)用程序分配用戶ID;對(duì)應(yīng)用程序所需的權(quán)能的設(shè)置信息進(jìn)行配置;和在注冊(cè)表中存儲(chǔ)包括用戶標(biāo)識(shí)(ID)和權(quán)能的安全設(shè)置信息。根據(jù)本發(fā)明的另一方面,提供一種在嵌入式Linux內(nèi)核中啟動(dòng)應(yīng)用程序的設(shè)備,包括用戶接口,接收關(guān)于用戶選擇的應(yīng)用程序的信息;注冊(cè)表接口,通過(guò)與注冊(cè)表管理器通信,從注冊(cè)表搜索關(guān)于應(yīng)用程序的安全設(shè)置信息;和控制器,根據(jù)安全設(shè)置信息來(lái)設(shè)置用戶帳戶、權(quán)能和基本目錄,并啟動(dòng)應(yīng)用程序的處理器。所述系統(tǒng)還可包括應(yīng)用程序安裝器,所述應(yīng)用程序安裝器用于檢測(cè)將被安裝的應(yīng)用程序的安全設(shè)置信息,并在安裝應(yīng)用程序的處理中將檢測(cè)到的安全設(shè)置信息存儲(chǔ)在注冊(cè)表中。根據(jù)本發(fā)明另一方面,提供一種存儲(chǔ)執(zhí)行在嵌入式Linux內(nèi)核中啟動(dòng)應(yīng)用程序的方法的程序的計(jì)算機(jī)可讀記錄介質(zhì),所述方法包括以下步驟搜索關(guān)于用戶選擇的應(yīng)用程序的安全設(shè)置信息;將應(yīng)用程序的處理器的用戶帳戶改為與所述安全設(shè)置信息中的應(yīng)用程序相關(guān)的用戶標(biāo)識(shí)(ID);根據(jù)所述安全設(shè)置信息中的權(quán)能的設(shè)置信息設(shè)置處理器的權(quán)能;根據(jù)安全設(shè)置信息中的基本目錄改變處理器的基本目錄;和啟動(dòng)應(yīng)用程序。在進(jìn)行以下對(duì)本發(fā)明的詳細(xì)描述之前,貫穿本專利文檔,對(duì)使用的特定詞語(yǔ)和詞組提前進(jìn)行定義可以是有利的術(shù)語(yǔ)"包括"和"包含"以及其變型表示非限制性的"包含";術(shù)語(yǔ)"或者"是包括性的,表示"和/或";詞組"與……相關(guān)聯(lián)"及其變型可表示"包括"、"被包括在......中"、"與……相互連接"、"包含"、"被包含在......中"、"連接到……或者與……連接"、"耦合到……或者與……耦合"、"與……通信"、"與……合作"、"交織"、"并列"、"與……接近"、"綁定到……或者與……綁定"、"具有"、"具有……的屬性"等;以及術(shù)語(yǔ)"控制器"表示控制至少一項(xiàng)操作的任何裝置、系統(tǒng)或者所述裝置、系統(tǒng)的一部分,可以以硬件、固件或者軟件實(shí)現(xiàn)的裝置或者以上至少兩項(xiàng)的一些組合實(shí)現(xiàn)所述裝置。應(yīng)當(dāng)注意,不管本地還是遠(yuǎn)程,與任何特定控制器相關(guān)的功能可以是集中或者分布的。貫穿在本專利文檔,提供了對(duì)特定詞語(yǔ)和詞組的定義,從而本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,在大多數(shù)情況下,這些前述的定義既可以被應(yīng)用于現(xiàn)有技術(shù),也可將這些定義的詞語(yǔ)和詞組應(yīng)用于未來(lái)的技術(shù)。為了更全面地理解本公開(kāi)及其優(yōu)點(diǎn),現(xiàn)在對(duì)以下結(jié)合附圖的描述進(jìn)行參照,其中相同的標(biāo)號(hào)表示相同的部分圖1是示出根據(jù)傳統(tǒng)安全方法的在嵌入式系統(tǒng)中運(yùn)行應(yīng)用程序的環(huán)境的框圖;圖2是示出根據(jù)本發(fā)明實(shí)施例的用于啟動(dòng)應(yīng)用程序的示意性步驟的流程圖;圖3是示出根據(jù)本發(fā)明實(shí)施例的應(yīng)用啟動(dòng)處理器的環(huán)境的示圖;圖4是根據(jù)本發(fā)明實(shí)施例的應(yīng)用啟動(dòng)處理器的框圖;圖5是示出根據(jù)本發(fā)明實(shí)施例的啟動(dòng)應(yīng)用程序的步驟的流程圖;和圖6是示出根據(jù)本發(fā)明實(shí)施例的安裝應(yīng)用程序的步驟的流程圖。具體實(shí)施方式以下討論的圖2到圖6以及用于描述本專利文檔中的本公開(kāi)的原理的各個(gè)實(shí)施例僅用于示例性的目的,不應(yīng)被理解為以任何方式限制本公開(kāi)的范圍。本領(lǐng)域技術(shù)人員將理解,本公開(kāi)的原理可以在任何適當(dāng)安置的處理系統(tǒng)中被實(shí)現(xiàn)。圖2是示出根據(jù)本發(fā)明實(shí)施例的啟動(dòng)應(yīng)用程序的示意性步驟的流程圖。參照?qǐng)D2,用戶210使用應(yīng)用啟動(dòng)處理器220選4奪將^^啟動(dòng)的應(yīng)用程序。應(yīng)用啟動(dòng)處理器220激活在Lmux內(nèi)核240上將^皮啟動(dòng)的選4奪的應(yīng)用程序處理器232、234和236。因此,用戶210不能直接啟動(dòng)應(yīng)用程序。用戶210僅可以使用應(yīng)用啟動(dòng)處理器220來(lái)啟動(dòng)應(yīng)用程序。換句話說(shuō),應(yīng)用啟動(dòng)處理器220被用作用戶210和應(yīng)用程序處理器232、234和236之間的接口。為此,因?yàn)閼?yīng)用啟動(dòng)處理器220應(yīng)當(dāng)在嵌入式Linux系統(tǒng)運(yùn)行時(shí)持續(xù)運(yùn)行,所以應(yīng)用啟動(dòng)處理器220可被實(shí)現(xiàn)為嵌入式Lmux系統(tǒng)中的守護(hù)進(jìn)程(daemon)。通常,應(yīng)用啟動(dòng)處理器220可被實(shí)現(xiàn)為圖形用戶界面(GUI),在這種情況下,應(yīng)用啟動(dòng)處理器220還被用作在嵌入式Linux系統(tǒng)中管理背景屏幕和圖標(biāo)的窗口管理器。因此,應(yīng)用啟動(dòng)處理器220可通過(guò)修改窗口管理器來(lái)實(shí)現(xiàn)。圖3是示出根據(jù)本發(fā)明實(shí)施例的運(yùn)行應(yīng)用啟動(dòng)處理器的環(huán)境的示圖。參照?qǐng)D3,應(yīng)用啟動(dòng)處理器320向注冊(cè)表管理器330請(qǐng)求關(guān)于應(yīng)用程序的安全設(shè)置信息,以啟動(dòng)所述應(yīng)用程序,并從注冊(cè)表管理器330接收所述安全設(shè)置信息。注冊(cè)表管理器330是用于管理存儲(chǔ)在注冊(cè)表(registry)中的信息的駐留處理器。通常,注冊(cè)表管理器330在Linux操作系統(tǒng)中被實(shí)現(xiàn)為稱作gconfd的守護(hù)進(jìn)程。注冊(cè)表332是存儲(chǔ)關(guān)于應(yīng)用程序的信息的數(shù)據(jù)庫(kù)(DB)。如圖3所示,注冊(cè)表332可存儲(chǔ)關(guān)于應(yīng)用程序的各種信息以及安全設(shè)置信息。安全設(shè)置信息包括與應(yīng)用程序相關(guān)的用戶標(biāo)識(shí)(ID)、權(quán)能(capability)和基本目錄。例如,在圖3中,在存儲(chǔ)在注冊(cè)表332中的第一應(yīng)用中,第一字段存儲(chǔ)用戶ID"100",第二字段存儲(chǔ)權(quán)能"0x40fD0000',,第三字段存儲(chǔ)基本目錄"/usr/local/class1"。權(quán)能是處理器的屬性,Linux權(quán)能系統(tǒng)基于所述處理器的屬性調(diào)整處理器的權(quán)限。Linux權(quán)能系統(tǒng)將部分超級(jí)用戶權(quán)限分配給用戶處理器。也就是說(shuō),分配給用戶處理器的權(quán)能指示用戶處理器行使的權(quán)限。權(quán)能內(nèi)核模塊基于分配給用戶處理器的權(quán)能來(lái)控制用戶處理器的操作。以下,表l是在Linux內(nèi)核2.2.13中定義的權(quán)能的列表。所述權(quán)能是從內(nèi)核源...include/linux/capability.h中提耳又的。表1<table>tableseeoriginaldocumentpage0</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table>例如,當(dāng)?shù)谝粦?yīng)用程序處理器342嘗試訪問(wèn)Linux內(nèi)核310以運(yùn)行受限于超級(jí)用戶權(quán)限的操作時(shí),權(quán)能內(nèi)核模塊312確定第一應(yīng)用程序處理器342是否被分配了用于運(yùn)行所述操作的超級(jí)用戶權(quán)限,并且根據(jù)確定的結(jié)果控制對(duì)Linux內(nèi)核310的訪問(wèn)。應(yīng)用啟動(dòng)處理器320可將關(guān)于由用戶選擇的應(yīng)用程序的標(biāo)識(shí)信息發(fā)送到注冊(cè)表管理器330,以請(qǐng)求關(guān)于所述應(yīng)用程序的安全設(shè)置信息。在一個(gè)實(shí)施例中,因?yàn)椴煌脩鬒D被分別分配給了應(yīng)用程序,所以與應(yīng)用程序相關(guān)的用戶標(biāo)識(shí)(ID)可被用作為標(biāo)識(shí)信息。應(yīng)用啟動(dòng)處理器320可使用映射表將用戶選擇與用戶ID進(jìn)行映射。以下,將參照?qǐng)D4對(duì)映射表進(jìn)行描述。注冊(cè)表管理器330響應(yīng)于應(yīng)用啟動(dòng)處理器320的請(qǐng)求在注冊(cè)表332中搜索關(guān)于應(yīng)用程序的安全設(shè)置信息,并將安全設(shè)置信息發(fā)送到應(yīng)用啟動(dòng)處理器320。應(yīng)用啟動(dòng)處理器320根據(jù)所述安全設(shè)置信息啟動(dòng)所述應(yīng)用程序。使用相應(yīng)的用戶ID并在相應(yīng)基本目錄上運(yùn)行具有指示運(yùn)行權(quán)限的相應(yīng)權(quán)能的每一個(gè)應(yīng)用程序。基本目錄是相應(yīng)應(yīng)用程序處理器識(shí)別的文件系統(tǒng)的根目錄。不同的基本目錄被分別分配給第一應(yīng)用程序處理器342和第二應(yīng)用程序處理器344。為第三應(yīng)用程序處理器346和第四應(yīng)用程序處理器348分配一個(gè)基本目錄。圖4是根據(jù)本發(fā)明實(shí)施例的應(yīng)用啟動(dòng)處理器的框圖。運(yùn)行應(yīng)用啟動(dòng)處理的應(yīng)用啟動(dòng)處理器400包括控制器402、用戶接口404、注冊(cè)表接口406和映射表408。用戶接口404接收關(guān)于用戶410選擇的應(yīng)用程序的信息。注冊(cè)表接口406基于接收到的信息向注冊(cè)表管理器430請(qǐng)求關(guān)于應(yīng)用程序的安全設(shè)置信息。在所述請(qǐng)求中,注冊(cè)表接口406還向注冊(cè)表管理器430發(fā)送關(guān)于所述應(yīng)用程序的標(biāo)識(shí)(ID)信息。在一個(gè)實(shí)施例中,與應(yīng)用程序相關(guān)的用戶ID可被用作標(biāo)識(shí)信息。映射表408使用例如由用戶410選4奪的圖標(biāo)來(lái)搜索用戶ID。注冊(cè)表接口406從注冊(cè)表管理器430接收安全設(shè)置信息,并基于接收到的安全設(shè)置信息來(lái)設(shè)置用戶帳戶、權(quán)能和基本目錄,以啟動(dòng)所述應(yīng)用程序。圖5是示出根據(jù)本發(fā)明實(shí)施例的啟動(dòng)應(yīng)用程序的步驟的流程圖。在步驟501,安裝應(yīng)用程序。將參照?qǐng)D6描述應(yīng)用程序的安裝。圖6是示出根據(jù)本發(fā)明實(shí)施例的安裝應(yīng)用程序的步驟的流程圖??赏ㄟ^(guò)單獨(dú)的安裝處理器來(lái)執(zhí)行安裝步驟。參照?qǐng)D6,在步驟601,用戶ID被分配給將被安裝的應(yīng)用程序。分配的用戶ID與分配給預(yù)裝的應(yīng)用程序的現(xiàn)有用戶ID不同。在嵌入式系統(tǒng)中,因?yàn)閷⒈粏?dòng)應(yīng)用程序的數(shù)量相對(duì)少,所以可將不同用戶ID分別分配給應(yīng)用程序。以應(yīng)用程序分別由相應(yīng)用戶運(yùn)行的方式來(lái)運(yùn)行每個(gè)應(yīng)用程序。還可如多用戶環(huán)境中一樣,獨(dú)立地運(yùn)行每個(gè)應(yīng)用程序處理器。此外,將不同的用戶帳戶分別分配給應(yīng)用程序處理器,從而基于分配給應(yīng)用程序的用戶ID來(lái)設(shè)計(jì)根據(jù)本發(fā)明的上述安全方法。在步驟602,對(duì)分配給應(yīng)用程序處理器的權(quán)能的設(shè)置信息進(jìn)行配置。安裝處理器確定運(yùn)行應(yīng)用程序所需的超級(jí)用戶權(quán)限,并且配置所述設(shè)置信息,以設(shè)置對(duì)應(yīng)于所需權(quán)限的權(quán)能。在啟動(dòng)應(yīng)用程序的處理中,應(yīng)用啟動(dòng)處理器可使用配置的設(shè)置信息來(lái)設(shè)置應(yīng)用程序處理器的權(quán)能。在步驟603,安裝處理器為應(yīng)用程序處理器分配基本目錄。如上所述,不同基本目錄可^L分別分配給應(yīng)用程序處理器,或者一個(gè)基本目錄可被分配給多個(gè)應(yīng)用程序處理器。因此,安裝處理器根據(jù)應(yīng)用程序的特點(diǎn)分配共享的基本目錄或者單獨(dú)的基本目錄。由此,每個(gè)應(yīng)用程序處理器具有部分超級(jí)用戶權(quán)限,但不能訪問(wèn)與嵌入式系統(tǒng)的操作相關(guān)的文件,從而可保護(hù)嵌入式系統(tǒng)免受攻擊應(yīng)用程序的攻擊,并且可將由外部攻擊導(dǎo)致的損害局限于被攻擊的應(yīng)用程序。另外,基本目錄獨(dú)立于屬于其他目錄的其他應(yīng)用程序處理器,從而可以防止修改和改變非期望文件。因此,可提高應(yīng)用程序處理器間的安全性,并且可最小化由病毒導(dǎo)致的損害。在步驟604,在注冊(cè)表中存儲(chǔ)包括用戶ID、權(quán)能和基本目錄的安全設(shè)置信息。將在啟動(dòng)安裝的應(yīng)用程序的處理器中使用存儲(chǔ)在注冊(cè)表中的安全設(shè)置信息。再次參照?qǐng)D5,在步驟502,用戶選擇將被啟動(dòng)的應(yīng)用程序。在一個(gè)實(shí)施例中,可通過(guò)GUI實(shí)現(xiàn)的用戶接口來(lái)做出對(duì)應(yīng)用程序的選擇。在步驟503,注冊(cè)表接口通過(guò)注冊(cè)表管理器從注冊(cè)表搜索關(guān)于選擇的應(yīng)用程序的安全設(shè)置信息。所述安全設(shè)置信息包括與選擇的應(yīng)用程序相關(guān)的用戶ID、權(quán)能和基本目錄。在步驟504,控制器將用于應(yīng)用程序處理器的用戶帳戶改為安全設(shè)置信息中的用戶ID。在一個(gè)實(shí)施例中,控制器可以使用Linux系統(tǒng)的setuid()命令來(lái)改變應(yīng)用程序處理器的用戶帳戶。在步驟505,應(yīng)用啟動(dòng)處理器確定應(yīng)用程序處理器是否是系統(tǒng)管理處理器。系統(tǒng)管理處理器是需要部分超級(jí)用戶權(quán)限的處理器。可基于安全設(shè)置信息中的權(quán)能的設(shè)置信息來(lái)做出所述確定。如果應(yīng)用程序處理器不是系統(tǒng)管理處理器,則因?yàn)閼?yīng)用程序處理器不需要部分超級(jí)用戶權(quán)限,所以可以省略設(shè)置權(quán)能的步驟506。根據(jù)本發(fā)明,使用fork()命令將所有應(yīng)用程序處理器創(chuàng)建為應(yīng)用啟動(dòng)處理器的子處理器,并且Linux內(nèi)核基于默認(rèn)權(quán)能創(chuàng)建新的處理器。因此,當(dāng)應(yīng)用程序處理器不是系統(tǒng)管理處理器時(shí),可在沒(méi)有設(shè)置權(quán)能的處理的情況下啟動(dòng)所述應(yīng)用程序處理器。如果應(yīng)用程序處理器是系統(tǒng)管理處理器,則因?yàn)閼?yīng)用程序處理器需要部分超級(jí)用戶權(quán)限,所以在步驟506控制器基于安全設(shè)置信息中的權(quán)能的設(shè)置信息設(shè)置所述權(quán)能。在步驟507,控制器根據(jù)安全設(shè)置信息中的基本目錄來(lái)改變所述應(yīng)用程序處理器的基本目錄。在步驟508,控制器啟動(dòng)該應(yīng)用程序。在改變基本目錄的處理中,控制器可使用Linux系統(tǒng)的chroot()命令。上述用于提高嵌入式Linux內(nèi)核的安全性的應(yīng)用程序啟動(dòng)方法可由計(jì)算機(jī)可讀代碼的計(jì)算機(jī)可讀記錄介質(zhì)來(lái)實(shí)現(xiàn)。所述計(jì)算機(jī)可讀記錄介質(zhì)是用于存儲(chǔ)可由計(jì)算機(jī)系統(tǒng)讀取的數(shù)據(jù)的記錄介質(zhì)。所述計(jì)算機(jī)可讀記錄介質(zhì)包括ROM、RAM、CD-ROM、磁帶、軟盤和光學(xué)數(shù)據(jù)存儲(chǔ)裝置。此外,載波(例如通過(guò)互聯(lián)網(wǎng)的傳輸)是計(jì)算機(jī)可讀記錄介質(zhì)。另外,所述計(jì)算機(jī)可讀記錄介質(zhì)可分布于連接至網(wǎng)絡(luò)的計(jì)算機(jī)系統(tǒng)上,并以計(jì)算^L可讀代碼^t存儲(chǔ)。根據(jù)應(yīng)用到由一個(gè)用戶使用的嵌入式系統(tǒng)中的本發(fā)明,以每個(gè)應(yīng)用程序統(tǒng)Linux系統(tǒng)安全功能來(lái)配置嵌入式Linux系統(tǒng)。在本發(fā)明中,Linux系統(tǒng)中超級(jí)用戶的角色被最小化,并且獨(dú)立地運(yùn)行應(yīng)用程序的處理器,從而最小化由外部攻擊導(dǎo)致的損害。本發(fā)明提供一種基于Linux操作系統(tǒng)優(yōu)化的嵌入式系統(tǒng)的安全方法,從而提高嵌入式系統(tǒng)的安全性并且能容易地將諸如Linux操作系統(tǒng)的通用操作系統(tǒng)應(yīng)用于嵌入式系統(tǒng)。本發(fā)明通過(guò)將基于在通用操作系統(tǒng)中使用的多用戶環(huán)境來(lái)應(yīng)用安全方法的方法提供給嵌入式系統(tǒng)而不對(duì)所述安全方法進(jìn)行很大程度的修改,以低成本高效益的方式提高嵌入式系統(tǒng)的安全性。盡管已經(jīng)使用示例性實(shí)施例描述了本公開(kāi),但是本領(lǐng)域技術(shù)人員可進(jìn)行各種改變和修改。本公開(kāi)意圖包括落入權(quán)利要求的范圍的這些改變和修改。權(quán)利要求1、一種在嵌入式Linux內(nèi)核中啟動(dòng)應(yīng)用程序的方法,所述方法包括搜索關(guān)于用戶選擇的應(yīng)用程序的安全設(shè)置信息;將應(yīng)用程序的處理器的用戶帳戶改為與所述安全設(shè)置信息中的應(yīng)用程序相關(guān)的用戶標(biāo)識(shí);根據(jù)所述安全設(shè)置信息中的權(quán)能的設(shè)置信息設(shè)置處理器的權(quán)能;和啟動(dòng)應(yīng)用程序。2、如權(quán)利要求l所述的方法,其中,搜索安全設(shè)置信息的步驟包括從存儲(chǔ)包括與應(yīng)用程序相關(guān)的用戶標(biāo)識(shí)和權(quán)能的安全設(shè)置信息的注冊(cè)表中搜索關(guān)于所述應(yīng)用程序的安全"&置信息。3、如權(quán)利要求2所述的方法,其中,搜索安全設(shè)置信息的步驟包括將與應(yīng)用程序相關(guān)的用戶標(biāo)識(shí)用作從注冊(cè)表搜索關(guān)于應(yīng)用程序的安全設(shè)置信息的標(biāo)識(shí)信息。4、如權(quán)利要求l所述的方法,還包括在啟動(dòng)應(yīng)用程序之前,根據(jù)安全設(shè)置信息中的基本目錄改變處理器的基本目錄。5、如權(quán)利要求l所述的方法,其中,設(shè)置權(quán)能的步驟包括確定所述處理器是否是系統(tǒng)管理處理器;當(dāng)所述處理器是系統(tǒng)管理處理器時(shí),根據(jù)安全設(shè)置信息中的權(quán)能的設(shè)置信息來(lái)設(shè)置處理器的權(quán)能。6、如權(quán)利要求5所述的方法,當(dāng)所述處理器不是系統(tǒng)管理處理器時(shí),根據(jù)安全設(shè)置信息中的基本目錄來(lái)改變處理器的基本目錄。7、如權(quán)利要求l所述的方法,其中,用戶標(biāo)識(shí)對(duì)應(yīng)用程序是唯一的。8、如權(quán)利要求1所述的方法,還包括在搜索安全設(shè)置信息之前,安裝應(yīng)用程序。9、如權(quán)利要求8所述的方法,其中,安裝應(yīng)用程序的步驟包括為將一皮安裝的應(yīng)用程序分配用戶標(biāo)識(shí);對(duì)應(yīng)用程序所需的權(quán)能的設(shè)置信息進(jìn)行配置;和在注冊(cè)表中存儲(chǔ)包括用戶標(biāo)識(shí)和權(quán)能的安全設(shè)置信息。10、如權(quán)利要求9所述的方法,其中,安裝應(yīng)用程序的步驟還包括在存儲(chǔ)安全設(shè)置信息之前,為應(yīng)用程序分配基本目錄,其中,安全設(shè)置信息還包括基本目錄。11、如權(quán)利要求9所述的方法,其中,用戶標(biāo)識(shí)對(duì)于應(yīng)用程序是唯一的。12、一種在嵌入式Linux內(nèi)核中啟動(dòng)應(yīng)用程序的設(shè)備,所述設(shè)備包括用戶接口,接收關(guān)于用戶選擇的應(yīng)用程序的信息;注冊(cè)表接口,通過(guò)與注冊(cè)表管理器通信,從注冊(cè)表搜索關(guān)于應(yīng)用程序的安全設(shè)置信息;和控制器,根據(jù)安全設(shè)置信息來(lái)設(shè)置用戶帳戶、權(quán)能和基本目錄,并啟動(dòng)應(yīng)用程序的處理器。13、如權(quán)利要求12所述的設(shè)備,還包括映射表,將用戶選擇的應(yīng)用程序映射到與所述應(yīng)用程序相關(guān)的用戶標(biāo)識(shí)。14、如權(quán)利要求12所述的設(shè)備,其中,注冊(cè)表接口將所述與應(yīng)用程序相關(guān)的用戶標(biāo)識(shí)用作識(shí)別應(yīng)用程序的標(biāo)識(shí)信息以與注冊(cè)表管理器進(jìn)行通信。15、如權(quán)利要求12所述的設(shè)備,其中,用戶接口被實(shí)現(xiàn)為圖形用戶界面。16、如權(quán)利要求12所述的設(shè)備,還包括應(yīng)用程序安裝器,用于檢測(cè)關(guān)于將被安裝的應(yīng)用程序的安全設(shè)置信息,并在安裝應(yīng)用程序的處理中將檢測(cè)到的安全設(shè)置信息存儲(chǔ)在注冊(cè)表中。17、一種計(jì)算機(jī)可讀記錄介質(zhì),存儲(chǔ)執(zhí)行在嵌入式Linux內(nèi)核中啟動(dòng)應(yīng)用程序的方法的程序,所述程序包括搜索關(guān)于用戶選^^的應(yīng)用程序的安全設(shè)置信息;將應(yīng)用程序的處理器的用戶帳戶改為與所述安全"^殳置信息中的應(yīng)用程序相關(guān)的用戶標(biāo)識(shí);根據(jù)所述安全設(shè)置信息中的權(quán)能的設(shè)置信息設(shè)置處理器的權(quán)能;根據(jù)安全設(shè)置信息中的基本目錄改變處理器的基本目錄;和啟動(dòng)應(yīng)用程序。全文摘要提供一種通過(guò)發(fā)放超級(jí)用戶權(quán)限提高嵌入式Linux內(nèi)核的安全性的應(yīng)用程序啟動(dòng)方法和系統(tǒng)。所述方法包括搜索關(guān)于用戶選擇的應(yīng)用程序的安全設(shè)置信息;將應(yīng)用程序的處理器的用戶帳戶改為與所述安全設(shè)置信息中的應(yīng)用程序相關(guān)的用戶ID;根據(jù)所述安全設(shè)置信息中的權(quán)能的設(shè)置信息設(shè)置處理器的權(quán)能;根據(jù)安全設(shè)置信息中的基本目錄改變處理器的基本目錄;和啟動(dòng)應(yīng)用程序。文檔編號(hào)G06F21/62GK101403973SQ20081009608公開(kāi)日2009年4月8日申請(qǐng)日期2008年4月30日優(yōu)先權(quán)日2006年12月5日發(fā)明者丁榮俊,任東赫,具蓉本,林容寬,金載明,金鋼熙申請(qǐng)人:三星電子株式會(huì)社;韓國(guó)電子通信研究院