孫偉明 張華熊
摘? 要:Elastic數(shù)據(jù)庫(kù)是一款主流的非關(guān)系型數(shù)據(jù)庫(kù),默認(rèn)安裝時(shí)存在潛在的信息泄露風(fēng)險(xiǎn)。本文基于網(wǎng)絡(luò)主動(dòng)探測(cè)技術(shù),設(shè)計(jì)實(shí)現(xiàn)了一個(gè)Elastic數(shù)據(jù)庫(kù)風(fēng)險(xiǎn)感知系統(tǒng)。系統(tǒng)首先通過協(xié)議構(gòu)造實(shí)現(xiàn)Elastic服務(wù)器上各類信息的獲取,然后設(shè)計(jì)了一種基于手機(jī)號(hào)碼、郵箱地址、身份證號(hào)、地名地址等多維數(shù)據(jù)協(xié)同分析的敏感信息檢測(cè)方法,從而評(píng)估數(shù)據(jù)庫(kù)風(fēng)險(xiǎn)等級(jí)并進(jìn)行預(yù)警。本文最后進(jìn)行了敏感數(shù)據(jù)檢測(cè)測(cè)試及總體功能測(cè)試,實(shí)驗(yàn)結(jié)果表明了本文敏感信息檢測(cè)方法及系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)的有效性。
關(guān)鍵詞:非關(guān)系型數(shù)據(jù)庫(kù);Elastic;信息泄露;主動(dòng)探測(cè);風(fēng)險(xiǎn)感知
中圖分類號(hào):TP309? ? ?文獻(xiàn)標(biāo)識(shí)碼: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ù)對(duì)系統(tǒng)存儲(chǔ)搜索等實(shí)時(shí)響應(yīng)性能要求也相應(yīng)提高。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)已不能滿足大數(shù)據(jù)環(huán)境下的響應(yīng)需求,非關(guān)系型數(shù)據(jù)庫(kù)[1](Not Only SQL,NoSQL)應(yīng)運(yùn)而生。與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)相比,NoSQL數(shù)據(jù)庫(kù)不預(yù)定義數(shù)據(jù)模式和表結(jié)構(gòu),存儲(chǔ)類型靈活,并發(fā)性能高,可擴(kuò)展性強(qiáng)。但相較于關(guān)系型數(shù)據(jù)庫(kù)遵循嚴(yán)格的一致性ACID原則,NoSQL數(shù)據(jù)庫(kù)則遵循CAP理論[2]。NoSQL數(shù)據(jù)庫(kù)專注于性能和靈活性,其極少內(nèi)置完整的安全機(jī)制[3]。同時(shí)NoSQL數(shù)據(jù)庫(kù)普遍采用REST的數(shù)據(jù)接口進(jìn)行操作,即可通過URL進(jìn)行數(shù)據(jù)庫(kù)的相關(guān)操作,這使得NoSQL數(shù)據(jù)庫(kù)存在數(shù)據(jù)安全問題的隱患。Elastic是一個(gè)基于Lucene的NoSQL數(shù)據(jù)庫(kù)。Elasticsearch是該數(shù)據(jù)庫(kù)的搜索引擎,廣泛應(yīng)用于海量數(shù)據(jù)的搜索功能[4]。本文以網(wǎng)絡(luò)設(shè)備搜索引擎Shodan[5]上可探測(cè)的Elastic數(shù)據(jù)庫(kù)為研究對(duì)象,以主動(dòng)探測(cè)的方式判別是否存在風(fēng)險(xiǎn),設(shè)計(jì)實(shí)現(xiàn)Elastic數(shù)據(jù)庫(kù)風(fēng)險(xiǎn)感知系統(tǒng)。
2? ?Elastic數(shù)據(jù)庫(kù)存在的安全風(fēng)險(xiǎn)(Security risks of Elastic database)
Elastic數(shù)據(jù)庫(kù)是一款主流的NoSQL數(shù)據(jù)庫(kù),其搜索引擎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和端口號(hào),即可通過URL進(jìn)行連接,存在文檔泄漏等安全風(fēng)險(xiǎn)。在Shodan官網(wǎng)上搜索Elastic數(shù)據(jù)庫(kù)設(shè)備在線情況,截至2020年5月30日得到全球分布總量26,763 臺(tái)及在中國(guó)的數(shù)量9,731 臺(tái),這些公網(wǎng)上可探測(cè)的數(shù)據(jù)庫(kù)可能存在一定的安全隱患。
3? ?系統(tǒng)需求分析(System requirements analysis)
本文設(shè)計(jì)實(shí)現(xiàn)Elastic數(shù)據(jù)庫(kù)風(fēng)險(xiǎn)感知系統(tǒng),目的是判斷IP主機(jī)上是否存在沒有安全機(jī)制的Elastic數(shù)據(jù)庫(kù)。如若可以不經(jīng)過驗(yàn)證機(jī)制連接到Elastic數(shù)據(jù)庫(kù),則記錄下該IP地址,并從該數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)進(jìn)行敏感性檢測(cè)。敏感數(shù)據(jù)包含諸如姓名、身份證號(hào)、郵編、住址等敏感信息,由敏感數(shù)據(jù)檢測(cè)結(jié)果判斷該Elastic數(shù)據(jù)庫(kù)存在的風(fēng)險(xiǎn)大小。
4? 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(System design and implementation)
4.1? ?感知Elastic數(shù)據(jù)庫(kù)風(fēng)險(xiǎn)的方法
Elastic數(shù)據(jù)庫(kù)使用URL進(jìn)行交互,其默認(rèn)端口是9200。本文通過以下命令進(jìn)行查詢:
如果該IP端沒有安裝Elastic數(shù)據(jù)庫(kù),則無法訪問;若Elastic數(shù)據(jù)庫(kù)設(shè)置了密碼,則會(huì)報(bào)錯(cuò),報(bào)錯(cuò)信息如圖1所示;若能正常訪問,則說明存在安全風(fēng)險(xiǎn)。判斷Elastic數(shù)據(jù)庫(kù)是否存在風(fēng)險(xiǎn)的流程如圖2所示。正常訪問返回Elastic數(shù)據(jù)庫(kù)相關(guān)信息,具體信息如表1所示。表1中health和status描述的是數(shù)據(jù)庫(kù)的狀態(tài);index是索引,可以理解為關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)名;pri、rep分別表示主集群數(shù)量、備份集群數(shù)量;其后兩個(gè)字段表示當(dāng)前數(shù)據(jù)庫(kù)所存的文檔數(shù)和已刪除的文檔數(shù);store.size和pri.store.size分別表示主從數(shù)據(jù)庫(kù)總的大小、主數(shù)據(jù)庫(kù)的大小。在Elastic中,每一個(gè)index對(duì)應(yīng)關(guān)系數(shù)據(jù)庫(kù)中的一個(gè)數(shù)據(jù)庫(kù),每個(gè)index下的文檔類型相似。
4.2? ?整體架構(gòu)設(shè)計(jì)
整個(gè)系統(tǒng)分為日志模塊、系統(tǒng)配置模塊、IP探測(cè)模塊、數(shù)據(jù)檢測(cè)模塊,系統(tǒng)整體流程如圖3所示。
系統(tǒng)采用多線程[8]的設(shè)計(jì)模式,通過Qt平臺(tái)[9]進(jìn)行系統(tǒng)實(shí)現(xiàn)。多線程的并發(fā)使用提高了CPU的利用率,處理網(wǎng)絡(luò)請(qǐng)求更快,特別有利于網(wǎng)絡(luò)應(yīng)答模式的實(shí)現(xiàn)。多線程要處理好共享資源的讀寫,避免產(chǎn)生死鎖。Qt具有優(yōu)良的跨平臺(tái)特性,支持多種操作系統(tǒng)。此外,Qt面向?qū)ο?,具有良好的封裝性,可重用性好。Qt的信號(hào)槽機(jī)制(Signals/Slots)代替回調(diào)函數(shù),使各個(gè)模塊之間的協(xié)同工作更加簡(jiǎn)單高效。Qt豐富的API為編程提供了極大便利,其中的正則表達(dá)式在后續(xù)的內(nèi)容檢測(cè)上發(fā)揮了很大的作用。
4.3? ?IP探測(cè)模塊設(shè)計(jì)與實(shí)現(xiàn)
Elastic數(shù)據(jù)庫(kù)探測(cè)分兩步進(jìn)行:(1)通過式(1)判斷該IP是否存在Elastic數(shù)據(jù)庫(kù)。如果該IP端沒有安裝Elastic數(shù)據(jù)庫(kù),結(jié)束探測(cè),否則進(jìn)入第二步;(2)抓取index下文檔的內(nèi)容進(jìn)行分析。第一步通過式(1)獲得數(shù)據(jù)庫(kù)相關(guān)的index及對(duì)應(yīng)的大小;第二步通過第一步所獲得的index值,通過以下命令查詢數(shù)據(jù)庫(kù)內(nèi)容:
size是設(shè)定查詢一次返回的記錄數(shù)。通過構(gòu)造URL把滿足主數(shù)據(jù)庫(kù)特定大小或是包含敏感詞的索引獲取到相應(yīng)的記錄,并把這些記錄保存在輸出目錄的文件中。
IP探測(cè)過程如圖4所示。首先使用首次探測(cè)隊(duì)列、二次探測(cè)隊(duì)列來存儲(chǔ)上述兩步分別構(gòu)造的URL。在探測(cè)開始前,需要從外部輸入文件中讀取要探測(cè)的IP,構(gòu)造好URL后壓入首次探測(cè)隊(duì)列中。探測(cè)開始時(shí),基于Qt網(wǎng)絡(luò)請(qǐng)求的特性,首先設(shè)置連接網(wǎng)絡(luò)請(qǐng)求處理的信號(hào)槽機(jī)制。在處理網(wǎng)絡(luò)數(shù)據(jù)時(shí),為加快請(qǐng)求速度,除了采用多線程技術(shù),還采用了批處理的方式。網(wǎng)絡(luò)請(qǐng)求正常返回后,調(diào)用多線程處理回復(fù)的報(bào)文。主進(jìn)程以最大請(qǐng)求量MaxRequestNum發(fā)起探測(cè)請(qǐng)求,當(dāng)返回后的數(shù)據(jù)流中含有index記錄,且pri.store.size滿足探測(cè)最小存儲(chǔ)值時(shí),構(gòu)造式(1)所示的URL加入二次探測(cè)隊(duì)列中,以備二次探測(cè)。當(dāng)所有IP均完成第一步探測(cè)后,進(jìn)行第二步探測(cè)。二次IP探測(cè)請(qǐng)求時(shí),數(shù)據(jù)庫(kù)返回的記錄保存在輸出文件中。二次IP探測(cè)時(shí),通常某個(gè)IP下存在多個(gè)滿足條件的索引index,為了避免Elastic在大并發(fā)讀取數(shù)據(jù)庫(kù)時(shí)引起的拒絕訪問,本文引入了延時(shí)處理機(jī)制。一批請(qǐng)求發(fā)出后,會(huì)延時(shí)固定時(shí)間后再進(jìn)行下一批次的訪問請(qǐng)求,延時(shí)時(shí)間的設(shè)定在保證Elastic服務(wù)端不被拒絕的同時(shí)要保證程序的高效性。綜合這兩種因素本文設(shè)定默認(rèn)延時(shí)為2 秒。當(dāng)二次探測(cè)隊(duì)列為空時(shí),為保證最后一批請(qǐng)求的數(shù)據(jù)能順利保存,設(shè)定固定延時(shí)等待,程序默認(rèn)延時(shí)等待5 分鐘,隨后訪問請(qǐng)求階段結(jié)束。
4.4? ?敏感數(shù)據(jù)檢測(cè)模塊設(shè)計(jì)
從Elastic數(shù)據(jù)庫(kù)中取出數(shù)據(jù)后,進(jìn)行相應(yīng)的敏感檢測(cè),以進(jìn)一步評(píng)估安全風(fēng)險(xiǎn)。檢測(cè)數(shù)據(jù)中是否包含電話號(hào)碼、身份證號(hào)、郵箱地址、地名地址等相關(guān)信息。包含這些信息,證明該數(shù)據(jù)庫(kù)有著較高的安全隱患。前期探測(cè)得來的數(shù)據(jù)以字符串的形式保存在輸出文件中,檢測(cè)模塊要在字符串中快速比對(duì)出上述四種相關(guān)信息。電話號(hào)碼、身份證號(hào)、郵箱地址均有鮮明可識(shí)別的特征,故采用正則表達(dá)式的方式進(jìn)行識(shí)別;地名地址識(shí)別較前者更為復(fù)雜,需單獨(dú)設(shè)計(jì)算法檢測(cè)。檢測(cè)得出的敏感信息文檔及對(duì)應(yīng)的IP、數(shù)據(jù)庫(kù)索引index均輸出保存在風(fēng)險(xiǎn)數(shù)據(jù)庫(kù)文件夾下。
(1)識(shí)別電話號(hào)碼。電話號(hào)碼在這里主要考慮手機(jī)號(hào)碼的識(shí)別。手機(jī)號(hào)碼一共有11位數(shù)字,前兩位數(shù)字只能是13/14/15/16/17/18/19中的一個(gè),后9位為0—9的數(shù)字。由此得到手機(jī)號(hào)碼的正則表達(dá)式:
(2)識(shí)別身份證號(hào)。現(xiàn)在我國(guó)的居民身份證號(hào)是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。由此得到身份證號(hào)碼的正則表達(dá)式:
(3)識(shí)別郵箱地址。郵箱地址的基本格式為“名稱@域名”。名稱部分,為了檢測(cè)的全面性,這部分允許有漢字、字母、數(shù)字。漢字用轉(zhuǎn)義字符表示,正則表達(dá)式為:
域名部分允許由字母、數(shù)字、英文句號(hào)、下劃線、中劃線組成。由此可得出識(shí)別郵箱地址的正則表達(dá)式:
(4)識(shí)別地名地址。由于地名地址的復(fù)雜和多樣性,無法通過簡(jiǎn)單的正則表達(dá)式來完成。為此本文提出了一種簡(jiǎn)單高效的地名地址識(shí)別方法。該方法在進(jìn)行地址檢測(cè)時(shí),首先對(duì)文檔內(nèi)容以標(biāo)點(diǎn)符號(hào)進(jìn)行分句,對(duì)每個(gè)句子進(jìn)行識(shí)別。其次,建立省、市、縣三級(jí)行政名稱數(shù)據(jù)庫(kù),分別存放在省、市、縣三個(gè)文件夾下,以備算法識(shí)別時(shí)匹配使用。判斷是否是地址的標(biāo)準(zhǔn):包含省、市、縣(區(qū))、鄉(xiāng)鎮(zhèn)(街道)、村組、號(hào)室院路等六級(jí)地址中的三個(gè)以上,至少到鄉(xiāng)鎮(zhèn)一級(jí)且順序從大到小不亂序則判定是地址信息。
具體的方法(圖5)思路如下:
(1)查找字符串中是否包含省級(jí)名稱,定位其在字符串中的位置,用indexofProvince表示,沒匹配到記為-1,匹配到則記錄其在字符串中的位置,同時(shí)匹配成功計(jì)數(shù)count+1;市縣與此類似,在字符串中的位置分別記為indexofCity、indexofCounty。
(2)鎮(zhèn)或是鄉(xiāng)一級(jí)的地址直接按照關(guān)鍵字鎮(zhèn)、鄉(xiāng)來匹配,其在字符串中的位置記為indexofCountryside,匹配成功計(jì)數(shù)count+1;村組或院樓號(hào)室等匹配同理。
(3)判斷是否包含地址信息。count大于等于3、最后一級(jí)地址不是縣區(qū)級(jí)、六級(jí)地址中存在的幾級(jí)地址從大到小在分句中位置依次遞增,這三個(gè)條件同時(shí)滿足,才判定包含地址信息;否則不包含地址信息。
在識(shí)別出敏感信息后,系統(tǒng)會(huì)把該IP地址和相應(yīng)的index、敏感信息的記錄一起輸出到敏感數(shù)據(jù)文件中,而正常的數(shù)據(jù)會(huì)被輸出到正常的文件中進(jìn)行保存。
5? ?系統(tǒng)測(cè)試(System test)
5.1? ?敏感數(shù)據(jù)檢測(cè)測(cè)試
本文通過實(shí)驗(yàn)對(duì)敏感檢測(cè)方法進(jìn)行有效性測(cè)試。對(duì)于以正則表達(dá)式方式進(jìn)行判別的手機(jī)號(hào)碼、身份證號(hào)、電子郵件這三類,檢測(cè)的數(shù)據(jù)充分考慮檢測(cè)可能遇到的各種情況(具體的情況已在前文描述),分別以50 條真實(shí)數(shù)據(jù)進(jìn)行測(cè)試,檢測(cè)結(jié)果是100%識(shí)別出了對(duì)應(yīng)的敏感信息。地名地址的種類比較多,本文為了隨機(jī)抽取全國(guó)各地的標(biāo)準(zhǔn)地址,測(cè)試地址由100 個(gè)211高校地址、50 個(gè)各地醫(yī)院地址、50 個(gè)酒店飯店地址組成,基本涵蓋了各種類型的標(biāo)準(zhǔn)地址。檢測(cè)結(jié)果為成功檢測(cè)192 個(gè),未成功檢測(cè)8 個(gè)。四類檢測(cè)算法的準(zhǔn)確率如表2所示。
地名地址中檢測(cè)未成功的地址分為以下四類:(1)市—縣—路—學(xué)校名(學(xué)校名字中有省名)導(dǎo)致不能識(shí)別。例如:鄭州市鄭東新區(qū)金水路與博學(xué)路交叉口龍子湖高校園區(qū)河南中醫(yī)學(xué)院。(2)省—市—縣—路—號(hào)(市名中含有鎮(zhèn)、鄉(xiāng)、村、院、路等關(guān)鍵字),導(dǎo)致不能識(shí)別。例如:河南省新鄉(xiāng)市牧野區(qū)建設(shè)路東段46號(hào)。例中新鄉(xiāng)市含“鄉(xiāng)”字。(3)未達(dá)到三個(gè)地址級(jí)別的判定條件。例如:鄭州市中原路與大學(xué)路交叉口西100米路南黃河飯店。例中只有市和路兩級(jí),算法中未涉及交叉路口的情況。(4)由于中文斷句分詞的誤識(shí)別導(dǎo)致把地址方位詞識(shí)別成省名。例如:青島市黃島區(qū)長(zhǎng)江西路66號(hào)。算法在長(zhǎng)江西路中識(shí)別出“江西”這個(gè)省名,導(dǎo)致未能準(zhǔn)確識(shí)別出地址信息。
在誤檢測(cè)方面,手機(jī)號(hào)碼、電子郵件、身份證號(hào)檢測(cè)分別對(duì)容易誤識(shí)別的數(shù)字串、字符串等各50 條進(jìn)行識(shí)別。手機(jī)號(hào)碼因?yàn)槿?2015700230034112一段數(shù)字串里包含類似手機(jī)號(hào)的數(shù)字15700230034,被誤識(shí)別。身份證號(hào)的誤檢測(cè)也存在類似的問題。因?yàn)槭謾C(jī)號(hào)碼和身份證號(hào)的長(zhǎng)度是固定的,分別是11位和18位,本文在檢測(cè)前對(duì)每個(gè)數(shù)字串進(jìn)行長(zhǎng)度判斷,提前判別出不符合要求的數(shù)據(jù),避免誤報(bào)的情況發(fā)生。電子郵件未發(fā)生誤檢測(cè)的情況。對(duì)于地址地名的誤檢測(cè),本文采用隨機(jī)真實(shí)的數(shù)據(jù),分別是:(1)含省、市公司名的句子100 條,如河南新野紡織股份有限公司;(2)只含省-市-縣三級(jí)的地址名50 條,如浙江杭州市江干區(qū);(3)易誤識(shí)別的文段50 條,如北京中關(guān)村軟件園等。檢測(cè)結(jié)果均能準(zhǔn)確識(shí)別為非地名地址,未發(fā)生誤報(bào)的情況。
總體來說,本文設(shè)計(jì)的敏感檢測(cè)方法簡(jiǎn)便快捷,準(zhǔn)確率在96%以上。
5.2? ?總體功能測(cè)試
使用搜索網(wǎng)絡(luò)空間在線設(shè)備的專用搜索引擎Shodan搜索關(guān)鍵字Elastic,得到全球在線Elastic設(shè)備共26,763 個(gè),在中國(guó)的有9,731 個(gè)。統(tǒng)計(jì)記錄下在中國(guó)的IP后,作為輸入數(shù)據(jù)進(jìn)行探測(cè),未輸入賬號(hào)密碼就可以獲取到相關(guān)的數(shù)據(jù)即存在安全風(fēng)險(xiǎn)。在數(shù)據(jù)檢測(cè)部分檢測(cè)出敏感信息,則設(shè)置為高風(fēng)險(xiǎn)預(yù)警;若沒有檢測(cè)出敏感信息,則設(shè)置為低風(fēng)險(xiǎn)預(yù)警。
經(jīng)過上述過程探測(cè)得到數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行分析,得到存在Elastic漏洞地區(qū)分布統(tǒng)計(jì)如表3所示。由探測(cè)的結(jié)果可知,廣東、北京、浙江、上海等地區(qū)存在風(fēng)險(xiǎn)的Elastic數(shù)據(jù)庫(kù)數(shù)量最多。未知地區(qū)的Elastic數(shù)據(jù)庫(kù)大多是云服務(wù)提供商所有的數(shù)據(jù)庫(kù)。測(cè)試用的9,731 個(gè)Elastic數(shù)據(jù)庫(kù)中存在風(fēng)險(xiǎn)的共有9,665 個(gè),全國(guó)各個(gè)?。ㄗ灾螀^(qū)、直轄市)均有分布。測(cè)試結(jié)果說明系統(tǒng)各功能已實(shí)現(xiàn)。
6? ?結(jié)論(Conclusion)
Elastic數(shù)據(jù)庫(kù)作為當(dāng)前主流NoSQL數(shù)據(jù)庫(kù)之一,提供的Elasticsearch搜索引擎是流行的企業(yè)搜索引擎,廣泛應(yīng)用于分布式文檔存儲(chǔ)和搜索服務(wù)。Elastic需要收費(fèi)軟件X-pack進(jìn)行安全配置。本文設(shè)計(jì)實(shí)現(xiàn)的Elastic數(shù)據(jù)庫(kù)風(fēng)險(xiǎn)感知系統(tǒng),從主動(dòng)探測(cè)的角度出發(fā),運(yùn)用簡(jiǎn)單的URL請(qǐng)求即可批量判斷目的IP主機(jī)上是否存在未進(jìn)行安全配置的Elastic數(shù)據(jù)庫(kù),同時(shí)通過對(duì)抓取數(shù)據(jù)的敏感性檢測(cè),實(shí)現(xiàn)了數(shù)據(jù)庫(kù)風(fēng)險(xiǎn)高低的評(píng)估和預(yù)警以及對(duì)Elastic數(shù)據(jù)庫(kù)的風(fēng)險(xiǎn)感知能力。
參考文獻(xiàn)(References)
[1] 陳忠菊.NoSQL數(shù)據(jù)庫(kù)的研究和應(yīng)用[J].電腦編程技巧與維護(hù),2020(09):81-83.
[2] 唐婷.大數(shù)據(jù)環(huán)境下NoSQL數(shù)據(jù)庫(kù)技術(shù)[J].信息與電腦(理論版),2019(15):142-144.
[3] 郎云海.大數(shù)據(jù)下的NoSQL數(shù)據(jù)庫(kù)安全策略的改進(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] 夏夢(mèng)迎,武櫻楠,侯家成,等.基于Linux Qt的動(dòng)力集中動(dòng)車組顯示屏設(shè)計(jì)及實(shí)現(xiàn)[J].鐵道機(jī)車與動(dòng)車,2020(01):18-20;35;5.
作者簡(jiǎn)介:
孫偉明(1993-),男,碩士生.研究領(lǐng)域:軟件設(shè)計(jì),網(wǎng)絡(luò)安全.
張華熊(1971-),男,博士,教授.研究領(lǐng)域:軟件設(shè)計(jì),網(wǎng)絡(luò)安全.