專利名稱:基于訪問規(guī)則控制的內(nèi)核擴(kuò)展模塊錯(cuò)誤檢測(cè)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)安全防范技術(shù)領(lǐng)域,具體涉及一種基于訪問規(guī)則控制的內(nèi)核擴(kuò)展模塊錯(cuò)誤檢測(cè)方法及裝置。
背景技術(shù):
在通用操作系統(tǒng)中,內(nèi)核擴(kuò)展模塊運(yùn)行于內(nèi)核態(tài),幾乎可以訪問所有計(jì)算機(jī)系統(tǒng)的資源,具有非常高的權(quán)限。因此,內(nèi)核擴(kuò)展模塊的安全性直接影響著操作系統(tǒng)的安全性。同時(shí),由于內(nèi)核擴(kuò)展模塊可以進(jìn)行任意添加和刪除,因此操作系統(tǒng)大量使用內(nèi)核擴(kuò)展模塊來(lái)實(shí)現(xiàn)各種功能。在Linux操作系統(tǒng)中,代碼量占操作系統(tǒng)代碼總量70%左右的設(shè)備驅(qū)動(dòng)就是作為內(nèi)核擴(kuò)展模塊運(yùn)行的。但是內(nèi)核擴(kuò)展模塊可能存在較大的安全隱患,因此,提高內(nèi)核擴(kuò)展模塊的安全性對(duì)于計(jì)算機(jī)安全性的提升具有重要意義。通常情況下,內(nèi)核擴(kuò)展模塊的安全性方面常常依賴于開發(fā)者對(duì)開發(fā)規(guī)范的遵守,并且需要進(jìn)行反復(fù)的測(cè)試以及審核分析,這些對(duì)于程序開發(fā)者的能力以及職業(yè)素養(yǎng)都有較高的要求,同時(shí)部署難度也很大。綜上所述,一種新的內(nèi)核擴(kuò)展模塊錯(cuò)誤檢測(cè)方法及裝置是亟待提供的。
發(fā)明內(nèi)容
(一)要解決的技術(shù)問題本發(fā)明的目的在于提供一種基于訪問規(guī)則控制的內(nèi)核擴(kuò)展模塊錯(cuò)誤檢測(cè)方法及裝置,用于實(shí)時(shí)準(zhǔn)確的檢測(cè)出內(nèi)核擴(kuò)展模塊運(yùn)行過程是否存在不安全因素,進(jìn)而提升操作系統(tǒng)內(nèi)核的安全性,減少不必要的損失,同時(shí)降低程序員的工作量。(二)技術(shù)方案本發(fā)明技術(shù)方案如下一種基于訪問規(guī)則控制的內(nèi)核擴(kuò)展模塊錯(cuò)誤檢測(cè)方法,包括步驟S1.為內(nèi)核擴(kuò)展模塊設(shè)定內(nèi)核函數(shù)使用規(guī)則;S2.分析所述使用規(guī)則與內(nèi)核擴(kuò)展模塊之間的依賴關(guān)系并根據(jù)所述依賴關(guān)系建立狀態(tài)轉(zhuǎn)移圖;S3.根據(jù)所述狀態(tài)轉(zhuǎn)移圖中的轉(zhuǎn)移條件,在所述內(nèi)核擴(kuò)展模塊中添加插裝標(biāo)記;S4.所述內(nèi)核擴(kuò)展模塊運(yùn)行至插裝標(biāo)記位置時(shí)觸發(fā)根據(jù)所述使用規(guī)則執(zhí)行的檢測(cè)。優(yōu)選的,所述步驟S3包括根據(jù)所述轉(zhuǎn)移條件,查找所述內(nèi)核擴(kuò)展模塊與所述使用規(guī)則相關(guān)的所有必要接口 ;在所有必要接口處添加插裝標(biāo)記。優(yōu)選的,所述插裝標(biāo)記包括注冊(cè)和初始化標(biāo)記以及觸發(fā)檢測(cè)的標(biāo)記。優(yōu)選的,所述步驟S4之后還包括步驟若所述步驟S4中檢測(cè)到所述內(nèi)核擴(kuò)展模塊轉(zhuǎn)移到不安全狀態(tài),則對(duì)其執(zhí)行審計(jì)或者刪除操作。優(yōu)選的,所述不安全狀態(tài)包括所述內(nèi)核擴(kuò)展模塊調(diào)用其無(wú)權(quán)調(diào)用的函數(shù)、所述內(nèi)核擴(kuò)展模塊訪問其無(wú)權(quán)訪問的內(nèi)存以及所述內(nèi)核擴(kuò)展模塊隱含潛在的危害。 本發(fā)明還提供了 一種基于訪問規(guī)則控制的內(nèi)核擴(kuò)展模塊錯(cuò)誤檢測(cè)裝置一種基于訪問規(guī)則控制的內(nèi)核擴(kuò)展模塊錯(cuò)誤檢測(cè)裝置,包括分別與待檢測(cè)內(nèi)核擴(kuò)展模塊連接的使用規(guī)則庫(kù)、標(biāo)記插裝單元以及動(dòng)態(tài)檢測(cè)器;所述標(biāo)記插裝單元在根據(jù)所述使用規(guī)則庫(kù)中的使用規(guī)則查找到的必要接口處添加插裝標(biāo)記,所述動(dòng)態(tài)檢測(cè)器根據(jù)所述插裝標(biāo)記實(shí)時(shí)監(jiān)控內(nèi)核擴(kuò)展模塊的運(yùn)行狀態(tài)并在所述內(nèi)核擴(kuò)展模塊轉(zhuǎn)移至不安全狀態(tài)時(shí)向操作系統(tǒng)內(nèi)核報(bào)警。(三)有益效果本發(fā)明的內(nèi)核擴(kuò)展模塊錯(cuò)誤檢測(cè)方法,通過為內(nèi)核擴(kuò)展模塊設(shè)定內(nèi)核函數(shù)使用規(guī)貝U,分析使用規(guī)則與內(nèi)核擴(kuò)展模塊之間的依賴關(guān)系并根據(jù)依賴關(guān)系建立狀態(tài)轉(zhuǎn)移圖,進(jìn)而結(jié)合狀態(tài)轉(zhuǎn)移圖在所述內(nèi)核擴(kuò)展模塊中添加插裝標(biāo)記,內(nèi)核擴(kuò)展模塊運(yùn)行至插裝標(biāo)記位置時(shí)會(huì)觸發(fā)根據(jù)所述使用規(guī)則執(zhí)行的檢測(cè),從而能夠?qū)崟r(shí)準(zhǔn)確的檢測(cè)出內(nèi)核擴(kuò)展模塊運(yùn)行過程是否存在不安全因素,進(jìn)而提升操作系統(tǒng)內(nèi)核的安全性,減少不必要的損失,同時(shí)降低程序員的工作量。
圖1是本發(fā)明實(shí)施例一中自旋鎖的工作機(jī)理和狀態(tài)轉(zhuǎn)移圖;圖2是本發(fā)明的一種基于訪問規(guī)則控制的內(nèi)核擴(kuò)展模塊錯(cuò)誤檢測(cè)裝置結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例,對(duì)發(fā)明的具體實(shí)施方式
做進(jìn)一步描述。以下實(shí)施例僅用于說(shuō)明本發(fā)明,但不用來(lái)限制本發(fā)明的范圍。實(shí)施例一一種基于訪問規(guī)則控制的內(nèi)核擴(kuò)展模塊錯(cuò)誤檢測(cè)方法,主要包括以下步驟S1.為內(nèi)核擴(kuò)展模塊設(shè)定內(nèi)核函數(shù)使用規(guī)則;使用規(guī)則可以是既定規(guī)則,也可以是一些機(jī)構(gòu)或者系統(tǒng)所有者自定義的一些和既定規(guī)則沒有直接關(guān)系的特定規(guī)則;例如,Linux操作系統(tǒng)中的自旋鎖用于保證對(duì)臨界區(qū)的互斥訪問,其接口函數(shù)中有加鎖和解鎖兩類操作,其中“自旋鎖不能在未被加鎖之前解鎖”就是一條關(guān)于自旋鎖的內(nèi)核擴(kuò)展模塊的內(nèi)核函數(shù)使用規(guī)則;同樣,內(nèi)核在釋放后不能再次被使用同樣是一條使用規(guī)則;甚至可以自定義內(nèi)核在第一次使用前必須執(zhí)行清空操作,這也是一條合理的使用規(guī)則。本實(shí)施例中以自旋鎖為例進(jìn)行說(shuō)明,自旋鎖加鎖通過spin_lock (**)執(zhí)行,解鎖則通過spin_unlock(**)執(zhí)行;現(xiàn)定義自旋鎖的使用規(guī)則如下(1)、自旋鎖在使用前必須進(jìn)行初始化;(2)、自旋鎖不能在未被加鎖之前解鎖。S2.分析所述使用規(guī)則與內(nèi)核擴(kuò)展模塊之間的依賴關(guān)系并根據(jù)所述依賴關(guān)系建立狀態(tài)轉(zhuǎn)移圖;狀態(tài)轉(zhuǎn)移圖中的頂點(diǎn)表示狀態(tài),邊表示狀態(tài)的轉(zhuǎn)移,對(duì)于每個(gè)頂點(diǎn),記錄其允許訪問的變量地址、內(nèi)存區(qū)域以及內(nèi)核函數(shù);需要說(shuō)明的是該狀態(tài)轉(zhuǎn)移圖只是為了描述內(nèi)核擴(kuò)展模塊內(nèi)部的狀態(tài)變化,是實(shí)際使用的一種原理圖,并非必須繪制出狀態(tài)轉(zhuǎn)移圖,對(duì)應(yīng)該狀態(tài)轉(zhuǎn)移圖的計(jì)算機(jī)程序?yàn)橛邢逘顟B(tài)自動(dòng)機(jī)。本實(shí)施例以elOOO網(wǎng)卡驅(qū)動(dòng)中的el000_read_eeprom函數(shù)使用el000_eeprom_lock自旋鎖為例對(duì)狀態(tài)轉(zhuǎn)移圖進(jìn)行說(shuō)明;以下為el000_read_eeprom函數(shù)的源代碼Istartic DEFINE_SPINLOCK(el000_eeprom_lock);2 s32 el000_read_eeprom(structel000_hw*hw, ul6offset,ul6words, ul6*data)3 {4 s32 ret ;5 spin_lock(&el000_eeprom_lock);6: ret = el000_do_read_eeprom(hw, offset, words, data);7 spin_unlock(&el000_eeprom_lock);8 return ret ;9 }以上代碼中使用了 el000_eeprom_lock自旋鎖,在調(diào)用函數(shù)el000_do_read_eeprom之前調(diào)用spin_lock加鎖函數(shù)進(jìn)行加鎖,在el000_do_read_eeprom函數(shù)執(zhí)行完畢之后調(diào)用spin_unlock解鎖函數(shù)進(jìn)行解鎖;其中,在第5行代碼已經(jīng)執(zhí)行完畢時(shí)處于加鎖狀態(tài),此時(shí)自旋鎖內(nèi)核函數(shù)使用情況如圖1中所示圖中標(biāo)出了在狀態(tài)2 (加鎖)和狀態(tài)3 (解鎖)時(shí)能夠訪問的與自旋鎖相關(guān)的內(nèi)核函數(shù)以及對(duì)于el000_eeprom_lock自旋鎖的狀態(tài)記錄;從圖中可以看出,el000_eeprom_lock自旋鎖在狀態(tài)2的可寫對(duì)象表中,表明el000_eeprom_lock自旋鎖當(dāng)前處于狀態(tài)2 ;從圖中也可以看出,在狀態(tài)3時(shí)不能訪問spin_unlock解鎖函數(shù),即自旋鎖不能在未被加鎖之前解鎖。S3.根據(jù)所述狀態(tài)轉(zhuǎn)移圖中的轉(zhuǎn)移條件,在所述內(nèi)核擴(kuò)展模塊中添加插裝標(biāo)記;該步驟主要包括根據(jù)所述轉(zhuǎn)移條件,查找所述內(nèi)核擴(kuò)展模塊與所述使用規(guī)則相關(guān)的所有必要接口 ;在所有必要接口處添加插裝標(biāo)記;所述插裝標(biāo)記包括注冊(cè)和初始化標(biāo)記以及觸發(fā)檢測(cè)的標(biāo)記;注冊(cè)和初始化標(biāo)記是指在待檢測(cè)內(nèi)核擴(kuò)展模塊定義時(shí),添加的向動(dòng)態(tài)檢測(cè)器注冊(cè)和初始化該待檢測(cè)變量的標(biāo)記,其需要將待檢測(cè)內(nèi)核擴(kuò)展模塊的地址以及待檢測(cè)內(nèi)核擴(kuò)展模塊所要遵守的內(nèi)核函數(shù)使用規(guī)則作為參數(shù)傳遞給動(dòng)態(tài)檢測(cè)器;觸發(fā)檢測(cè)的標(biāo)記是指在內(nèi)核擴(kuò)展模塊調(diào)用內(nèi)核函數(shù)前,添加的觸發(fā)動(dòng)態(tài)檢測(cè)器進(jìn)行檢測(cè)的標(biāo)記,其需要將待檢測(cè)內(nèi)核擴(kuò)展模塊的地址、待調(diào)用函數(shù)以及所要遵守的內(nèi)核函數(shù)使用規(guī)則作為參數(shù)傳遞給動(dòng)態(tài)檢測(cè)器。仍然以elOOO 網(wǎng)卡驅(qū)動(dòng)中的 el000_read_eeprom 函數(shù)使用的 el000_eeprom_lock自旋鎖為例對(duì)該步驟進(jìn)行說(shuō)明;從上述步驟S2中el000_read_eeprom函數(shù)源代碼中可以看到自旋鎖el000_eepix)m_lOCk作為全局變量被定義和初始化;向動(dòng)態(tài)檢測(cè)器注冊(cè)和初始化待檢測(cè)變量el000_eeprom_lock的標(biāo)記被添加到網(wǎng)卡驅(qū)動(dòng)的初始化函數(shù)el000_probe中,自旋鎖el000_eeprom_lock的地址、自旋鎖應(yīng)當(dāng)遵守的內(nèi)核函數(shù)使用規(guī)則等信息作為函數(shù)參數(shù)傳遞至動(dòng)態(tài)檢測(cè)器;在el000_read_eeprom函數(shù)調(diào)用spin_lock加鎖函數(shù)之前插入觸發(fā)檢測(cè)的標(biāo)記,將自旋鎖的地址、函數(shù)spin_loCk的地址以及自旋鎖應(yīng)當(dāng)遵守的內(nèi)核函數(shù)使用規(guī)則作為函數(shù)參數(shù)傳遞至動(dòng)態(tài)檢測(cè)器;同樣也在調(diào)用spin_unloCk函數(shù)之前插入了觸發(fā)檢測(cè)的標(biāo)記。
S4.所述內(nèi)核擴(kuò)展模塊運(yùn)行至插裝標(biāo)記位置時(shí)觸發(fā)根據(jù)所述使用規(guī)則執(zhí)行的檢測(cè);該步驟主要包括對(duì)添加了插裝標(biāo)記的內(nèi)核擴(kuò)展模塊進(jìn)行重新編譯、運(yùn)行,可以通過動(dòng)態(tài)檢測(cè)器動(dòng)態(tài)檢測(cè)是否存在違規(guī)操作;動(dòng)態(tài)檢測(cè)器一直運(yùn)行在內(nèi)核中,一旦運(yùn)行到插裝標(biāo)記位置,則會(huì)執(zhí)行根據(jù)使用規(guī)則對(duì)內(nèi)核擴(kuò)展模塊進(jìn)行檢查;其中,注冊(cè)和初始化標(biāo)記觸發(fā)動(dòng)態(tài)檢測(cè)器完成對(duì)設(shè)定的需要被檢測(cè)的變量進(jìn)行注冊(cè)和初始化,動(dòng)態(tài)檢測(cè)器記錄被檢測(cè)變量在內(nèi)核函數(shù)使用規(guī)則的狀態(tài)轉(zhuǎn)移圖中所處的狀態(tài);例如,在對(duì)待檢測(cè)的自旋鎖進(jìn)行注冊(cè)和初始化后,該自旋鎖處于內(nèi)核函數(shù)使用規(guī)則狀態(tài)轉(zhuǎn)移圖表示的狀態(tài)I ;觸發(fā)檢測(cè)的標(biāo)記觸發(fā)動(dòng)態(tài)檢測(cè)器根據(jù)內(nèi)核函數(shù)使用規(guī)則對(duì)當(dāng)前函數(shù)調(diào)用是否正確進(jìn)行檢測(cè),同時(shí)完成狀態(tài)轉(zhuǎn)移圖的狀態(tài)轉(zhuǎn)移;例如,在調(diào)用加鎖函數(shù)spin_lock后,自旋鎖處于內(nèi)核函數(shù)使用規(guī)則狀態(tài)轉(zhuǎn)移圖的狀態(tài)2,在調(diào)用解鎖函數(shù)spin_unlock后,自旋鎖處于內(nèi)核函數(shù)使用規(guī)則狀態(tài)轉(zhuǎn)移圖的狀態(tài)3 ;如果在某狀態(tài)調(diào)用了不允許其調(diào)用的函數(shù)或訪問了不允許其訪問的內(nèi)存時(shí),動(dòng)態(tài)檢測(cè)器會(huì)向操作系統(tǒng)內(nèi)核報(bào)警;例如,如果自旋鎖在狀態(tài)3時(shí)調(diào)用spin_unlock函數(shù),動(dòng)態(tài)檢測(cè)器在允許調(diào)用函數(shù)的散列表中找不到spin_unloCk,則通知操作系統(tǒng)內(nèi)核有錯(cuò)誤發(fā)生。進(jìn)一步的,所述步驟S4之后還包括步驟若所述步驟S4中檢測(cè)到所述內(nèi)核擴(kuò)展模塊轉(zhuǎn)移到不安全狀態(tài),則對(duì)其執(zhí)行審計(jì)或者刪除操作,其中,不安全狀態(tài)包括所述內(nèi)核擴(kuò)展模塊調(diào)用其無(wú)權(quán)調(diào)用的函數(shù)、所述內(nèi)核擴(kuò)展模塊訪問其無(wú)權(quán)訪問的內(nèi)存以及所述內(nèi)核擴(kuò)展模塊隱含潛在的危害等。實(shí)施例二本發(fā)明還提供了一種根據(jù)實(shí)施例一中所述基于訪問規(guī)則控制的內(nèi)核擴(kuò)展模塊錯(cuò)誤檢測(cè)方法的裝置,如圖2中所示包括分別與待檢測(cè)內(nèi)核擴(kuò)展模塊連接的使用規(guī)則庫(kù)、標(biāo)記插裝單元以及動(dòng)態(tài)檢測(cè)器;使用規(guī)則庫(kù)中包含與內(nèi)核擴(kuò)展模塊相關(guān)的內(nèi)核函數(shù)使用規(guī)則,標(biāo)記插裝單元在根據(jù)所述使用規(guī)則庫(kù)中的使用規(guī)則查找到的必要接口處添加插裝標(biāo)記,所述動(dòng)態(tài)檢測(cè)器根據(jù)所述插裝標(biāo)記實(shí)時(shí)監(jiān)控內(nèi)核擴(kuò)展模塊的運(yùn)行狀態(tài),在所述內(nèi)核擴(kuò)展模塊轉(zhuǎn)移至不安全狀態(tài)時(shí)向操作系統(tǒng)內(nèi)核報(bào)警。以上實(shí)施方式僅用于說(shuō)明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的保護(hù)范疇。
權(quán)利要求
1.一種基于訪問規(guī)則控制的內(nèi)核擴(kuò)展模塊錯(cuò)誤檢測(cè)方法,其特征在于,包括步驟51.為內(nèi)核擴(kuò)展模塊設(shè)定內(nèi)核函數(shù)使用規(guī)則;52.分析所述使用規(guī)則與內(nèi)核擴(kuò)展模塊之間的依賴關(guān)系并根據(jù)所述依賴關(guān)系建立狀態(tài)轉(zhuǎn)移圖;53.根據(jù)所述狀態(tài)轉(zhuǎn)移圖中的轉(zhuǎn)移條件,在所述內(nèi)核擴(kuò)展模塊中添加插裝標(biāo)記;54.所述內(nèi)核擴(kuò)展模塊運(yùn)行至插裝標(biāo)記位置時(shí)觸發(fā)根據(jù)所述使用規(guī)則執(zhí)行的檢測(cè)。
2.根據(jù)權(quán)利要求1所述的錯(cuò)誤檢測(cè)方法,其特征在于,所述步驟S3包括根據(jù)所述轉(zhuǎn)移條件,查找所述內(nèi)核擴(kuò)展模塊與所述使用規(guī)則相關(guān)的所有必要接口 ;在所有必要接口處添加插裝標(biāo)記。
3.根據(jù)權(quán)利要求1所述的錯(cuò)誤檢測(cè)方法,其特征在于,所述插裝標(biāo)記包括注冊(cè)和初始化標(biāo)記以及觸發(fā)檢測(cè)的標(biāo)記。
4.根據(jù)權(quán)利要求1-3任意一項(xiàng)所述的錯(cuò)誤檢測(cè)方法,其特征在于,所述步驟S4之后還包括步驟若所述步驟S4中檢測(cè)到所述內(nèi)核擴(kuò)展模塊轉(zhuǎn)移到不安全狀態(tài),則對(duì)其執(zhí)行審計(jì)或者刪除操作。
5.根據(jù)權(quán)利要求4所述的錯(cuò)誤檢測(cè)方法,其特征在于,所述不安全狀態(tài)包括所述內(nèi)核擴(kuò)展模塊調(diào)用其無(wú)權(quán)調(diào)用的函數(shù)、所述內(nèi)核擴(kuò)展模塊訪問其無(wú)權(quán)訪問的內(nèi)存以及所述內(nèi)核擴(kuò)展模塊隱含潛在的危害。
6.一種基于訪問規(guī)則控制的內(nèi)核擴(kuò)展模塊錯(cuò)誤檢測(cè)裝置,其特征在于,包括分別與待檢測(cè)內(nèi)核擴(kuò)展模塊連接的使用規(guī)則庫(kù)、標(biāo)記插裝單元以及動(dòng)態(tài)檢測(cè)器;所述標(biāo)記插裝單元在根據(jù)所述使用規(guī)則庫(kù)中的使用規(guī)則查找到的必要接口處添加插裝標(biāo)記,所述動(dòng)態(tài)檢測(cè)器根據(jù)所述插裝標(biāo)記實(shí)時(shí)監(jiān)控內(nèi)核擴(kuò)展模塊的運(yùn)行狀態(tài)并在所述內(nèi)核擴(kuò)展模塊轉(zhuǎn)移至不安全狀態(tài)時(shí)向操作系統(tǒng)內(nèi)核報(bào)警。
全文摘要
本發(fā)明涉及計(jì)算機(jī)安全防范技術(shù)領(lǐng)域,具體涉及一種基于訪問規(guī)則控制的內(nèi)核擴(kuò)展模塊錯(cuò)誤檢測(cè)方法及裝置;該錯(cuò)誤檢測(cè)方法包括步驟S1.為內(nèi)核擴(kuò)展模塊設(shè)定內(nèi)核函數(shù)使用規(guī)則;S2.分析所述使用規(guī)則與內(nèi)核擴(kuò)展模塊之間的依賴關(guān)系并根據(jù)所述依賴關(guān)系建立狀態(tài)轉(zhuǎn)移圖;S3.根據(jù)所述狀態(tài)轉(zhuǎn)移圖中的轉(zhuǎn)移條件,在所述內(nèi)核擴(kuò)展模塊中添加插裝標(biāo)記;S4.所述內(nèi)核擴(kuò)展模塊運(yùn)行至插裝標(biāo)記位置時(shí)觸發(fā)根據(jù)所述使用規(guī)則執(zhí)行的檢測(cè)。本發(fā)明能夠?qū)崟r(shí)準(zhǔn)確的檢測(cè)出內(nèi)核擴(kuò)展模塊運(yùn)行過程是否存在不安全因素,進(jìn)而提升操作系統(tǒng)內(nèi)核的安全性,減少不必要的損失,同時(shí)降低程序員的工作量。
文檔編號(hào)G06F11/36GK103049381SQ201210564708
公開日2013年4月17日 申請(qǐng)日期2012年12月21日 優(yōu)先權(quán)日2012年12月21日
發(fā)明者胡事民, 劉虎球, 馬超 申請(qǐng)人:清華大學(xué)