孫偉明 張華熊
摘? 要:Elastic數(shù)據(jù)庫是一款主流的非關(guān)系型數(shù)據(jù)庫,默認(rèn)安裝時(shí)存在潛在的信息泄露風(fēng)險(xiǎn)。本文基于網(wǎng)絡(luò)主動(dòng)探測技術(shù),設(shè)計(jì)實(shí)現(xiàn)了一個(gè)Elastic數(shù)據(jù)庫風(fēng)險(xiǎn)感知系統(tǒng)。系統(tǒng)首先通過協(xié)議構(gòu)造實(shí)現(xiàn)Elastic服務(wù)器上各類信息的獲取,然后設(shè)計(jì)了一種基于手機(jī)號碼、郵箱地址、身份證號、地名地址等多維數(shù)據(jù)協(xié)同分析的敏感信息檢測方法,從而評估數(shù)據(jù)庫風(fēng)險(xiǎn)等級并進(jìn)行預(yù)警。本文最后進(jìn)行了敏感數(shù)據(jù)檢測測試及總體功能測試,實(shí)驗(yàn)結(jié)果表明了本文敏感信息檢測方法及系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)的有效性。
關(guān)鍵詞:非關(guān)系型數(shù)據(jù)庫;Elastic;信息泄露;主動(dòng)探測;風(fēng)險(xiǎn)感知
中圖分類號:TP309? ? ?文獻(xiàn)標(biāo)識碼:A
Abstract: Elastic database is a mainstream non-relational database with a potential risk of information leakage when installed by default. This paper proposes to design and implement an Elastic database risk perception system based on network active detection technology. The system first realizes acquisition of various types of information on Elastic server through protocol construction, and then designs a sensitive information detection method based on collaborative analysis of multi-dimensional data such as mobile phone numbers, email addresses, ID numbers, and place-name addresses, so to evaluate risk level of the database and issue early warning. At the end of this paper, sensitive data detection test and overall function test are carried out. Experimental results show the effectiveness of the sensitive information detection method and system design and implementation proposed in this paper.
Keywords: non-relational database; Elastic; information leakage; active detection; risk perception
1? ?引言(Introduction)
當(dāng)今隨著互聯(lián)網(wǎng)的快速發(fā)展,海量非結(jié)構(gòu)化數(shù)據(jù)對系統(tǒng)存儲(chǔ)搜索等實(shí)時(shí)響應(yīng)性能要求也相應(yīng)提高。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫已不能滿足大數(shù)據(jù)環(huán)境下的響應(yīng)需求,非關(guān)系型數(shù)據(jù)庫[1](Not Only SQL,NoSQL)應(yīng)運(yùn)而生。與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫相比,NoSQL數(shù)據(jù)庫不預(yù)定義數(shù)據(jù)模式和表結(jié)構(gòu),存儲(chǔ)類型靈活,并發(fā)性能高,可擴(kuò)展性強(qiáng)。但相較于關(guān)系型數(shù)據(jù)庫遵循嚴(yán)格的一致性ACID原則,NoSQL數(shù)據(jù)庫則遵循CAP理論[2]。NoSQL數(shù)據(jù)庫專注于性能和靈活性,其極少內(nèi)置完整的安全機(jī)制[3]。同時(shí)NoSQL數(shù)據(jù)庫普遍采用REST的數(shù)據(jù)接口進(jìn)行操作,即可通過URL進(jìn)行數(shù)據(jù)庫的相關(guān)操作,這使得NoSQL數(shù)據(jù)庫存在數(shù)據(jù)安全問題的隱患。Elastic是一個(gè)基于Lucene的NoSQL數(shù)據(jù)庫。Elasticsearch是該數(shù)據(jù)庫的搜索引擎,廣泛應(yīng)用于海量數(shù)據(jù)的搜索功能[4]。本文以網(wǎng)絡(luò)設(shè)備搜索引擎Shodan[5]上可探測的Elastic數(shù)據(jù)庫為研究對象,以主動(dòng)探測的方式判別是否存在風(fēng)險(xiǎn),設(shè)計(jì)實(shí)現(xiàn)Elastic數(shù)據(jù)庫風(fēng)險(xiǎn)感知系統(tǒng)。
2? ?Elastic數(shù)據(jù)庫存在的安全風(fēng)險(xiǎn)(Security risks of Elastic database)
Elastic數(shù)據(jù)庫是一款主流的NoSQL數(shù)據(jù)庫,其搜索引擎Elasticsearch可提供性能高效的搜索服務(wù),多用于搜索引擎、日志存儲(chǔ)、安全防護(hù)[6,7]。Elastic的權(quán)限、密碼設(shè)置需要通過擴(kuò)展插件X-pack來實(shí)現(xiàn)。該插件將安全、警告、監(jiān)視、圖形和報(bào)告功能捆綁在一個(gè)易于安裝的軟件包中以供用戶使用。Elastic可免費(fèi)使用,但是X-pack收費(fèi),免費(fèi)試用一個(gè)月。因此,未安裝X-pack的Elastic應(yīng)用信息容易被泄露。Elastic以文檔的形式進(jìn)行存儲(chǔ),有相應(yīng)的API可以獲取文檔中的內(nèi)容。只要獲取Elastic服務(wù)器的IP和端口號,即可通過URL進(jìn)行連接,存在文檔泄漏等安全風(fēng)險(xiǎn)。在Shodan官網(wǎng)上搜索Elastic數(shù)據(jù)庫設(shè)備在線情況,截至2020年5月30日得到全球分布總量26,763 臺及在中國的數(shù)量9,731 臺,這些公網(wǎng)上可探測的數(shù)據(jù)庫可能存在一定的安全隱患。
3? ?系統(tǒng)需求分析(System requirements analysis)
本文設(shè)計(jì)實(shí)現(xiàn)Elastic數(shù)據(jù)庫風(fēng)險(xiǎn)感知系統(tǒng),目的是判斷IP主機(jī)上是否存在沒有安全機(jī)制的Elastic數(shù)據(jù)庫。如若可以不經(jīng)過驗(yàn)證機(jī)制連接到Elastic數(shù)據(jù)庫,則記錄下該IP地址,并從該數(shù)據(jù)庫中獲取數(shù)據(jù)進(jìn)行敏感性檢測。敏感數(shù)據(jù)包含諸如姓名、身份證號、郵編、住址等敏感信息,由敏感數(shù)據(jù)檢測結(jié)果判斷該Elastic數(shù)據(jù)庫存在的風(fēng)險(xiǎn)大小。
4? 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(System design and implementation)
4.1? ?感知Elastic數(shù)據(jù)庫風(fēng)險(xiǎn)的方法
Elastic數(shù)據(jù)庫使用URL進(jìn)行交互,其默認(rèn)端口是9200。本文通過以下命令進(jìn)行查詢:
如果該IP端沒有安裝Elastic數(shù)據(jù)庫,則無法訪問;若Elastic數(shù)據(jù)庫設(shè)置了密碼,則會(huì)報(bào)錯(cuò),報(bào)錯(cuò)信息如圖1所示;若能正常訪問,則說明存在安全風(fēng)險(xiǎn)。判斷Elastic數(shù)據(jù)庫是否存在風(fēng)險(xiǎn)的流程如圖2所示。正常訪問返回Elastic數(shù)據(jù)庫相關(guān)信息,具體信息如表1所示。表1中health和status描述的是數(shù)據(jù)庫的狀態(tài);index是索引,可以理解為關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)庫名;pri、rep分別表示主集群數(shù)量、備份集群數(shù)量;其后兩個(gè)字段表示當(dāng)前數(shù)據(jù)庫所存的文檔數(shù)和已刪除的文檔數(shù);store.size和pri.store.size分別表示主從數(shù)據(jù)庫總的大小、主數(shù)據(jù)庫的大小。在Elastic中,每一個(gè)index對應(yīng)關(guān)系數(shù)據(jù)庫中的一個(gè)數(shù)據(jù)庫,每個(gè)index下的文檔類型相似。
4.2? ?整體架構(gòu)設(shè)計(jì)
整個(gè)系統(tǒng)分為日志模塊、系統(tǒng)配置模塊、IP探測模塊、數(shù)據(jù)檢測模塊,系統(tǒng)整體流程如圖3所示。
系統(tǒng)采用多線程[8]的設(shè)計(jì)模式,通過Qt平臺[9]進(jìn)行系統(tǒng)實(shí)現(xiàn)。多線程的并發(fā)使用提高了CPU的利用率,處理網(wǎng)絡(luò)請求更快,特別有利于網(wǎng)絡(luò)應(yīng)答模式的實(shí)現(xiàn)。多線程要處理好共享資源的讀寫,避免產(chǎn)生死鎖。Qt具有優(yōu)良的跨平臺特性,支持多種操作系統(tǒng)。此外,Qt面向?qū)ο螅哂辛己玫姆庋b性,可重用性好。Qt的信號槽機(jī)制(Signals/Slots)代替回調(diào)函數(shù),使各個(gè)模塊之間的協(xié)同工作更加簡單高效。Qt豐富的API為編程提供了極大便利,其中的正則表達(dá)式在后續(xù)的內(nèi)容檢測上發(fā)揮了很大的作用。
4.3? ?IP探測模塊設(shè)計(jì)與實(shí)現(xiàn)
Elastic數(shù)據(jù)庫探測分兩步進(jìn)行:(1)通過式(1)判斷該IP是否存在Elastic數(shù)據(jù)庫。如果該IP端沒有安裝Elastic數(shù)據(jù)庫,結(jié)束探測,否則進(jìn)入第二步;(2)抓取index下文檔的內(nèi)容進(jìn)行分析。第一步通過式(1)獲得數(shù)據(jù)庫相關(guān)的index及對應(yīng)的大小;第二步通過第一步所獲得的index值,通過以下命令查詢數(shù)據(jù)庫內(nèi)容:
size是設(shè)定查詢一次返回的記錄數(shù)。通過構(gòu)造URL把滿足主數(shù)據(jù)庫特定大小或是包含敏感詞的索引獲取到相應(yīng)的記錄,并把這些記錄保存在輸出目錄的文件中。
IP探測過程如圖4所示。首先使用首次探測隊(duì)列、二次探測隊(duì)列來存儲(chǔ)上述兩步分別構(gòu)造的URL。在探測開始前,需要從外部輸入文件中讀取要探測的IP,構(gòu)造好URL后壓入首次探測隊(duì)列中。探測開始時(shí),基于Qt網(wǎng)絡(luò)請求的特性,首先設(shè)置連接網(wǎng)絡(luò)請求處理的信號槽機(jī)制。在處理網(wǎng)絡(luò)數(shù)據(jù)時(shí),為加快請求速度,除了采用多線程技術(shù),還采用了批處理的方式。網(wǎng)絡(luò)請求正常返回后,調(diào)用多線程處理回復(fù)的報(bào)文。主進(jìn)程以最大請求量MaxRequestNum發(fā)起探測請求,當(dāng)返回后的數(shù)據(jù)流中含有index記錄,且pri.store.size滿足探測最小存儲(chǔ)值時(shí),構(gòu)造式(1)所示的URL加入二次探測隊(duì)列中,以備二次探測。當(dāng)所有IP均完成第一步探測后,進(jìn)行第二步探測。二次IP探測請求時(shí),數(shù)據(jù)庫返回的記錄保存在輸出文件中。二次IP探測時(shí),通常某個(gè)IP下存在多個(gè)滿足條件的索引index,為了避免Elastic在大并發(fā)讀取數(shù)據(jù)庫時(shí)引起的拒絕訪問,本文引入了延時(shí)處理機(jī)制。一批請求發(fā)出后,會(huì)延時(shí)固定時(shí)間后再進(jìn)行下一批次的訪問請求,延時(shí)時(shí)間的設(shè)定在保證Elastic服務(wù)端不被拒絕的同時(shí)要保證程序的高效性。綜合這兩種因素本文設(shè)定默認(rèn)延時(shí)為2 秒。當(dāng)二次探測隊(duì)列為空時(shí),為保證最后一批請求的數(shù)據(jù)能順利保存,設(shè)定固定延時(shí)等待,程序默認(rèn)延時(shí)等待5 分鐘,隨后訪問請求階段結(jié)束。
4.4? ?敏感數(shù)據(jù)檢測模塊設(shè)計(jì)
從Elastic數(shù)據(jù)庫中取出數(shù)據(jù)后,進(jìn)行相應(yīng)的敏感檢測,以進(jìn)一步評估安全風(fēng)險(xiǎn)。檢測數(shù)據(jù)中是否包含電話號碼、身份證號、郵箱地址、地名地址等相關(guān)信息。包含這些信息,證明該數(shù)據(jù)庫有著較高的安全隱患。前期探測得來的數(shù)據(jù)以字符串的形式保存在輸出文件中,檢測模塊要在字符串中快速比對出上述四種相關(guān)信息。電話號碼、身份證號、郵箱地址均有鮮明可識別的特征,故采用正則表達(dá)式的方式進(jìn)行識別;地名地址識別較前者更為復(fù)雜,需單獨(dú)設(shè)計(jì)算法檢測。檢測得出的敏感信息文檔及對應(yīng)的IP、數(shù)據(jù)庫索引index均輸出保存在風(fēng)險(xiǎn)數(shù)據(jù)庫文件夾下。
(1)識別電話號碼。電話號碼在這里主要考慮手機(jī)號碼的識別。手機(jī)號碼一共有11位數(shù)字,前兩位數(shù)字只能是13/14/15/16/17/18/19中的一個(gè),后9位為0—9的數(shù)字。由此得到手機(jī)號碼的正則表達(dá)式:
(2)識別身份證號?,F(xiàn)在我國的居民身份證號是18位,由17位數(shù)字體本體碼和1位校驗(yàn)碼組成。從左往右排列順序依次是:6位數(shù)字地址碼、8位數(shù)字出生日期碼、3位數(shù)字順序碼和1位數(shù)字校驗(yàn)碼。1—6位為地址碼,首位可取1—8中任意一個(gè),其余5位可取0—9。7—14位為日期碼,前4位是年,后4位分別是月、日。年前兩位只能取18/19/20之一,后兩位為0—9;月是01—12;日期要考慮到2月沒有30,只到28/29。15—17位為順序碼,取0—9;18位為校驗(yàn)碼,取0—9或X/x。由此得到身份證號碼的正則表達(dá)式:
(3)識別郵箱地址。郵箱地址的基本格式為“名稱@域名”。名稱部分,為了檢測的全面性,這部分允許有漢字、字母、數(shù)字。漢字用轉(zhuǎn)義字符表示,正則表達(dá)式為:
域名部分允許由字母、數(shù)字、英文句號、下劃線、中劃線組成。由此可得出識別郵箱地址的正則表達(dá)式:
(4)識別地名地址。由于地名地址的復(fù)雜和多樣性,無法通過簡單的正則表達(dá)式來完成。為此本文提出了一種簡單高效的地名地址識別方法。該方法在進(jìn)行地址檢測時(shí),首先對文檔內(nèi)容以標(biāo)點(diǎn)符號進(jìn)行分句,對每個(gè)句子進(jìn)行識別。其次,建立省、市、縣三級行政名稱數(shù)據(jù)庫,分別存放在省、市、縣三個(gè)文件夾下,以備算法識別時(shí)匹配使用。判斷是否是地址的標(biāo)準(zhǔn):包含省、市、縣(區(qū))、鄉(xiāng)鎮(zhèn)(街道)、村組、號室院路等六級地址中的三個(gè)以上,至少到鄉(xiāng)鎮(zhèn)一級且順序從大到小不亂序則判定是地址信息。
具體的方法(圖5)思路如下:
(1)查找字符串中是否包含省級名稱,定位其在字符串中的位置,用indexofProvince表示,沒匹配到記為-1,匹配到則記錄其在字符串中的位置,同時(shí)匹配成功計(jì)數(shù)count+1;市縣與此類似,在字符串中的位置分別記為indexofCity、indexofCounty。
(2)鎮(zhèn)或是鄉(xiāng)一級的地址直接按照關(guān)鍵字鎮(zhèn)、鄉(xiāng)來匹配,其在字符串中的位置記為indexofCountryside,匹配成功計(jì)數(shù)count+1;村組或院樓號室等匹配同理。
(3)判斷是否包含地址信息。count大于等于3、最后一級地址不是縣區(qū)級、六級地址中存在的幾級地址從大到小在分句中位置依次遞增,這三個(gè)條件同時(shí)滿足,才判定包含地址信息;否則不包含地址信息。
在識別出敏感信息后,系統(tǒng)會(huì)把該IP地址和相應(yīng)的index、敏感信息的記錄一起輸出到敏感數(shù)據(jù)文件中,而正常的數(shù)據(jù)會(huì)被輸出到正常的文件中進(jìn)行保存。
5? ?系統(tǒng)測試(System test)
5.1? ?敏感數(shù)據(jù)檢測測試
本文通過實(shí)驗(yàn)對敏感檢測方法進(jìn)行有效性測試。對于以正則表達(dá)式方式進(jìn)行判別的手機(jī)號碼、身份證號、電子郵件這三類,檢測的數(shù)據(jù)充分考慮檢測可能遇到的各種情況(具體的情況已在前文描述),分別以50 條真實(shí)數(shù)據(jù)進(jìn)行測試,檢測結(jié)果是100%識別出了對應(yīng)的敏感信息。地名地址的種類比較多,本文為了隨機(jī)抽取全國各地的標(biāo)準(zhǔn)地址,測試地址由100 個(gè)211高校地址、50 個(gè)各地醫(yī)院地址、50 個(gè)酒店飯店地址組成,基本涵蓋了各種類型的標(biāo)準(zhǔn)地址。檢測結(jié)果為成功檢測192 個(gè),未成功檢測8 個(gè)。四類檢測算法的準(zhǔn)確率如表2所示。
地名地址中檢測未成功的地址分為以下四類:(1)市—縣—路—學(xué)校名(學(xué)校名字中有省名)導(dǎo)致不能識別。例如:鄭州市鄭東新區(qū)金水路與博學(xué)路交叉口龍子湖高校園區(qū)河南中醫(yī)學(xué)院。(2)省—市—縣—路—號(市名中含有鎮(zhèn)、鄉(xiāng)、村、院、路等關(guān)鍵字),導(dǎo)致不能識別。例如:河南省新鄉(xiāng)市牧野區(qū)建設(shè)路東段46號。例中新鄉(xiāng)市含“鄉(xiāng)”字。(3)未達(dá)到三個(gè)地址級別的判定條件。例如:鄭州市中原路與大學(xué)路交叉口西100米路南黃河飯店。例中只有市和路兩級,算法中未涉及交叉路口的情況。(4)由于中文斷句分詞的誤識別導(dǎo)致把地址方位詞識別成省名。例如:青島市黃島區(qū)長江西路66號。算法在長江西路中識別出“江西”這個(gè)省名,導(dǎo)致未能準(zhǔn)確識別出地址信息。
在誤檢測方面,手機(jī)號碼、電子郵件、身份證號檢測分別對容易誤識別的數(shù)字串、字符串等各50 條進(jìn)行識別。手機(jī)號碼因?yàn)槿?2015700230034112一段數(shù)字串里包含類似手機(jī)號的數(shù)字15700230034,被誤識別。身份證號的誤檢測也存在類似的問題。因?yàn)槭謾C(jī)號碼和身份證號的長度是固定的,分別是11位和18位,本文在檢測前對每個(gè)數(shù)字串進(jìn)行長度判斷,提前判別出不符合要求的數(shù)據(jù),避免誤報(bào)的情況發(fā)生。電子郵件未發(fā)生誤檢測的情況。對于地址地名的誤檢測,本文采用隨機(jī)真實(shí)的數(shù)據(jù),分別是:(1)含省、市公司名的句子100 條,如河南新野紡織股份有限公司;(2)只含省-市-縣三級的地址名50 條,如浙江杭州市江干區(qū);(3)易誤識別的文段50 條,如北京中關(guān)村軟件園等。檢測結(jié)果均能準(zhǔn)確識別為非地名地址,未發(fā)生誤報(bào)的情況。
總體來說,本文設(shè)計(jì)的敏感檢測方法簡便快捷,準(zhǔn)確率在96%以上。
5.2? ?總體功能測試
使用搜索網(wǎng)絡(luò)空間在線設(shè)備的專用搜索引擎Shodan搜索關(guān)鍵字Elastic,得到全球在線Elastic設(shè)備共26,763 個(gè),在中國的有9,731 個(gè)。統(tǒng)計(jì)記錄下在中國的IP后,作為輸入數(shù)據(jù)進(jìn)行探測,未輸入賬號密碼就可以獲取到相關(guān)的數(shù)據(jù)即存在安全風(fēng)險(xiǎn)。在數(shù)據(jù)檢測部分檢測出敏感信息,則設(shè)置為高風(fēng)險(xiǎn)預(yù)警;若沒有檢測出敏感信息,則設(shè)置為低風(fēng)險(xiǎn)預(yù)警。
經(jīng)過上述過程探測得到數(shù)據(jù),并對數(shù)據(jù)進(jìn)行分析,得到存在Elastic漏洞地區(qū)分布統(tǒng)計(jì)如表3所示。由探測的結(jié)果可知,廣東、北京、浙江、上海等地區(qū)存在風(fēng)險(xiǎn)的Elastic數(shù)據(jù)庫數(shù)量最多。未知地區(qū)的Elastic數(shù)據(jù)庫大多是云服務(wù)提供商所有的數(shù)據(jù)庫。測試用的9,731 個(gè)Elastic數(shù)據(jù)庫中存在風(fēng)險(xiǎn)的共有9,665 個(gè),全國各個(gè)省(自治區(qū)、直轄市)均有分布。測試結(jié)果說明系統(tǒng)各功能已實(shí)現(xiàn)。
6? ?結(jié)論(Conclusion)
Elastic數(shù)據(jù)庫作為當(dāng)前主流NoSQL數(shù)據(jù)庫之一,提供的Elasticsearch搜索引擎是流行的企業(yè)搜索引擎,廣泛應(yīng)用于分布式文檔存儲(chǔ)和搜索服務(wù)。Elastic需要收費(fèi)軟件X-pack進(jìn)行安全配置。本文設(shè)計(jì)實(shí)現(xiàn)的Elastic數(shù)據(jù)庫風(fēng)險(xiǎn)感知系統(tǒng),從主動(dòng)探測的角度出發(fā),運(yùn)用簡單的URL請求即可批量判斷目的IP主機(jī)上是否存在未進(jìn)行安全配置的Elastic數(shù)據(jù)庫,同時(shí)通過對抓取數(shù)據(jù)的敏感性檢測,實(shí)現(xiàn)了數(shù)據(jù)庫風(fēng)險(xiǎn)高低的評估和預(yù)警以及對Elastic數(shù)據(jù)庫的風(fēng)險(xiǎn)感知能力。
參考文獻(xiàn)(References)
[1] 陳忠菊.NoSQL數(shù)據(jù)庫的研究和應(yīng)用[J].電腦編程技巧與維護(hù),2020(09):81-83.
[2] 唐婷.大數(shù)據(jù)環(huán)境下NoSQL數(shù)據(jù)庫技術(shù)[J].信息與電腦(理論版),2019(15):142-144.
[3] 郎云海.大數(shù)據(jù)下的NoSQL數(shù)據(jù)庫安全策略的改進(jìn)[J].通訊世界,2019,26(08):29-30.
[4] 楊文杰,倪平波,宋衛(wèi)平,等.基于Elasticsearch服務(wù)化的探究[J].科技資訊,2020,18(24):64-65;68.
[5] Shodan. Shodan官網(wǎng)[EB/OL].[2020-05-12].https://www.shodan.io/.
[6] Ruoyu Wang, Daniel Sun, Guoqiang Li, et al. Pipeline provenance for cloud-based big data analytics[J]. Special Issue: Software Tools and Techniques for Fog and Edge Computing, 2020,50(5):658-674.
[7] Neel Shah, Darryl Willick, Vijay Mago. A framework for social media data analytics using Elasticsearch and Kibana[EB/OL].[2018-12-11]. https://link.springer.com/article/10.1007/s11276-018-01896-2.
[8] 唐曦文.多線程在儀器控制軟件設(shè)計(jì)中的研究與應(yīng)用[J].航空精密制造技術(shù),2020,56(04):23-25;32.
[9] 夏夢迎,武櫻楠,侯家成,等.基于Linux Qt的動(dòng)力集中動(dòng)車組顯示屏設(shè)計(jì)及實(shí)現(xiàn)[J].鐵道機(jī)車與動(dòng)車,2020(01):18-20;35;5.
作者簡介:
孫偉明(1993-),男,碩士生.研究領(lǐng)域:軟件設(shè)計(jì),網(wǎng)絡(luò)安全.
張華熊(1971-),男,博士,教授.研究領(lǐng)域:軟件設(shè)計(jì),網(wǎng)絡(luò)安全.