李力恒,王曉磊
(黑龍江中醫(yī)藥大學(xué) 醫(yī)學(xué)信息工程學(xué)院,黑龍江 哈爾濱 150040)
計(jì)算機(jī)與互聯(lián)網(wǎng)的持續(xù)發(fā)展使得用戶(hù)數(shù)據(jù)信息不斷增加,開(kāi)發(fā)網(wǎng)絡(luò)下的信息可被隨時(shí)訪問(wèn),網(wǎng)絡(luò)信息安全問(wèn)題也越來(lái)越受關(guān)注,開(kāi)放網(wǎng)絡(luò)的權(quán)限訪問(wèn)問(wèn)題更加重要[1]。為避免用戶(hù)隱私數(shù)據(jù)被非法用戶(hù)訪問(wèn),要對(duì)數(shù)據(jù)信息的訪問(wèn)權(quán)限進(jìn)行一定的權(quán)限控制,在確保對(duì)資源瀏覽獲取有效訪問(wèn)權(quán)限的同時(shí)防止非法用戶(hù)進(jìn)行權(quán)限訪問(wèn),避免部分隱私信息的非授權(quán)傳播[2]。因此,數(shù)據(jù)挖掘和入侵檢測(cè)技術(shù)也不斷提高。
傳統(tǒng)的實(shí)用性挖掘方法僅將所統(tǒng)計(jì)獲取的數(shù)據(jù)信息進(jìn)行已有系統(tǒng)攻擊狀況的比較,如文獻(xiàn)[3]中的基于譜聚類(lèi)的訪問(wèn)控制異常權(quán)限配置挖掘方法,此種情況與信息安全準(zhǔn)則相悖,且此種方法的匹配效率較低,同時(shí)對(duì)于某些未知信息或現(xiàn)有入侵方式的變更無(wú)法進(jìn)行精確地挖掘檢測(cè)與分析。文獻(xiàn)[4]提出一種基于SOM聚類(lèi)的多模態(tài)醫(yī)學(xué)圖像大數(shù)據(jù)挖掘算法,醫(yī)學(xué)圖像數(shù)據(jù)自身冗余度不再無(wú)限攀升,幀率重疊行為得到有效控制。文獻(xiàn)[5]提出了一種復(fù)雜高維數(shù)據(jù)中異常點(diǎn)挖掘算法,從算法精度、ROC曲線(xiàn)面積及運(yùn)行時(shí)間3個(gè)角度分析了8個(gè)典型數(shù)據(jù)集,挖掘其中的高維數(shù)據(jù)異常點(diǎn)。文獻(xiàn)[6]提出了一種Android系統(tǒng)中的權(quán)限異常檢測(cè)方法,該方法通過(guò)FP-growth算法挖掘所配置的各個(gè)權(quán)限之間的關(guān)聯(lián)性,根據(jù)關(guān)聯(lián)性構(gòu)建FP-tree檢測(cè)模型,對(duì)權(quán)限進(jìn)行惡意性判決。然而上述幾種方法忽略了權(quán)限配置過(guò)程中包含的錯(cuò)誤權(quán)限,使對(duì)異常權(quán)限的挖掘時(shí)間大大增加。文獻(xiàn)[7]設(shè)計(jì)了一種挖掘加權(quán)最大頻繁序列的算法,該算法利用頻繁項(xiàng)出現(xiàn)的頻率賦予不同頻繁序列不同的權(quán)重,通過(guò)引入頻繁加權(quán)序列的定義篩選出最大頻繁序列,使挖掘結(jié)果具有反單調(diào)性,提高了挖掘準(zhǔn)確性。文獻(xiàn)[8]提出了一種基于函數(shù)調(diào)用關(guān)系的應(yīng)用權(quán)限泄露漏洞挖掘方法,該方法分析了常見(jiàn)的權(quán)限泄露漏洞的形成原理,在分析可疑路徑的基礎(chǔ)上,對(duì)其中的動(dòng)態(tài)暴露組進(jìn)行偵查。然而上述2種方法在挖掘過(guò)程中具有很大的盲目性,導(dǎo)致挖掘效率較低。文獻(xiàn)[9]設(shè)計(jì)了一種大規(guī)模高維數(shù)據(jù)集中局部異常數(shù)據(jù)挖掘算法,該算法將FFD技術(shù)應(yīng)用于異常信息挖掘中,利用FFD的強(qiáng)控制能力實(shí)現(xiàn)數(shù)據(jù)傳輸與挖掘進(jìn)程的數(shù)據(jù)互通,結(jié)合FIFO挖掘思想實(shí)現(xiàn)數(shù)據(jù)的本地化與異常數(shù)據(jù)挖掘。文獻(xiàn)[10]提出了一種基于改進(jìn)Eclat算法的資源池節(jié)點(diǎn)異常模式挖掘方法,利用Eclat算法通過(guò)轉(zhuǎn)換資源池節(jié)點(diǎn)數(shù)據(jù)格式、建立非頻繁項(xiàng)集減少序列的連接次數(shù),構(gòu)建信息存儲(chǔ)體,再利用關(guān)聯(lián)規(guī)則算法挖掘其中各信息之間的關(guān)聯(lián),篩選出其中的異常模式。雖然上述2種方法在挖掘效率方面優(yōu)勢(shì)較為明顯,但由于均是先將數(shù)據(jù)進(jìn)行處理或建立儲(chǔ)存體,導(dǎo)致挖掘結(jié)果的準(zhǔn)確率較低。
針對(duì)現(xiàn)有異常權(quán)限配置挖掘算法存在的挖掘時(shí)間長(zhǎng)、效率低、精度差的問(wèn)題,本文提出一種NetLinX開(kāi)放網(wǎng)絡(luò)下異常權(quán)限配置挖掘算法。首先對(duì)挖掘數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,數(shù)據(jù)凈化、會(huì)話(huà)與用戶(hù)識(shí)別及路徑補(bǔ)充處理,降低數(shù)據(jù)挖掘的冗雜程度,經(jīng)過(guò)識(shí)別排除其他干擾數(shù)據(jù)影響,再進(jìn)一步進(jìn)行異常權(quán)限配置的檢測(cè),提高了挖掘系統(tǒng)的效率,最后將檢測(cè)后的數(shù)據(jù)信息進(jìn)行挖掘,綜合利用 lncLOF與OPTICS 方式進(jìn)行數(shù)據(jù)挖掘,減少挖掘信息數(shù)據(jù)量,縮減挖掘時(shí)長(zhǎng), 進(jìn)而提升整體異常權(quán)限配置挖掘效果。
權(quán)限配置數(shù)據(jù)預(yù)處理的主要目的是將NetLinX開(kāi)放網(wǎng)絡(luò)下的數(shù)據(jù)信息轉(zhuǎn)化為較為準(zhǔn)確可靠、便于挖掘的數(shù)據(jù)。這一過(guò)程以縮短挖掘時(shí)間,提高挖掘效率,該過(guò)程包括數(shù)據(jù)凈化、會(huì)話(huà)和用戶(hù)識(shí)別、路徑補(bǔ)充3個(gè)部分。
在數(shù)據(jù)凈化過(guò)程中,需進(jìn)行關(guān)聯(lián)規(guī)則與系統(tǒng)訪問(wèn)的初始化設(shè)計(jì),并檢測(cè)其有效性是否能夠較為精準(zhǔn)的顯示出用戶(hù)對(duì)于網(wǎng)絡(luò)信息的訪問(wèn)流程[11]。首先,利用運(yùn)行系統(tǒng)下載文件,在下載過(guò)程中相應(yīng)增加記錄數(shù)量。一般情況下,用戶(hù)下載的HTML頁(yè)面會(huì)產(chǎn)生多條記錄,由于頁(yè)面中存在其他數(shù)據(jù)信息的使用,圖文下載過(guò)程中會(huì)出現(xiàn)增加記錄的下載,此時(shí)需要進(jìn)行用戶(hù)頁(yè)面請(qǐng)求,與代表意圖相匹配,并同時(shí)應(yīng)用于用戶(hù)網(wǎng)絡(luò)信息的訪問(wèn)與數(shù)據(jù)統(tǒng)計(jì)。在訪問(wèn)后,確保所挖掘的數(shù)據(jù)具備任務(wù)所需的挖掘意義,同時(shí)對(duì)于無(wú)關(guān)數(shù)據(jù)與冗余信息進(jìn)行系統(tǒng)消除,并相應(yīng)的進(jìn)行記錄的特級(jí)刪減[12]。在確立請(qǐng)求之后,對(duì)其數(shù)據(jù)信息進(jìn)行保留分析處理,同時(shí)定義剪切規(guī)則編制,預(yù)先設(shè)定專(zhuān)門(mén)的相應(yīng)網(wǎng)站進(jìn)行數(shù)據(jù)分類(lèi),并建立對(duì)應(yīng)規(guī)則信息庫(kù),根據(jù)所需挖掘檢測(cè)的網(wǎng)站分類(lèi)進(jìn)行規(guī)則信息庫(kù)的數(shù)據(jù)清理,也可根據(jù)自身需求進(jìn)行信息刪減,完成整體數(shù)據(jù)凈化過(guò)程。
利用用戶(hù)多次訪問(wèn)記錄進(jìn)行單個(gè)會(huì)話(huà)的劃分,根據(jù)數(shù)據(jù)超時(shí)原則檢測(cè)2個(gè)頁(yè)面請(qǐng)求之間的時(shí)差是否超出規(guī)定界限,如超過(guò),則開(kāi)始新的會(huì)話(huà)。此外,識(shí)別過(guò)程需利用不斷變化的本地存儲(chǔ)與系統(tǒng)服務(wù)器,基于站點(diǎn)進(jìn)行啟發(fā)規(guī)則的技術(shù)識(shí)別,并驗(yàn)證用戶(hù)地址是否相同。如果用戶(hù)的訪問(wèn)記錄或規(guī)則系統(tǒng)發(fā)生改變,則每個(gè)系統(tǒng)服務(wù)器代表不同的訪問(wèn)用戶(hù),接著將訪問(wèn)系統(tǒng)與設(shè)置站點(diǎn)結(jié)構(gòu)拓?fù)湎嘟Y(jié)合,構(gòu)建中心系統(tǒng)服務(wù)器訪問(wèn)瀏覽途徑。若請(qǐng)求頁(yè)用戶(hù)與所訪問(wèn)頁(yè)面無(wú)超鏈接聯(lián)系,則存在另一個(gè)擁有同樣用戶(hù)地址的用戶(hù)。在請(qǐng)求頁(yè)面相同的情況下,采取識(shí)別過(guò)濾方法,濾除用戶(hù)同時(shí)使用2種網(wǎng)絡(luò)進(jìn)行訪問(wèn)或不經(jīng)過(guò)站點(diǎn)直接進(jìn)行輸入連接的情況[13],用戶(hù)識(shí)別結(jié)構(gòu)如圖1所示。
圖 1 用戶(hù)識(shí)別結(jié)構(gòu)圖Fig.1 User identification structure
在訪問(wèn)過(guò)程中會(huì)出現(xiàn)訪問(wèn)是否重要的請(qǐng)求確定記錄申請(qǐng),在此情形下,需要將網(wǎng)絡(luò)記錄中不存在卻同時(shí)顯示用戶(hù)行為的信息補(bǔ)充,以此來(lái)完成對(duì)數(shù)據(jù)的預(yù)處理。若當(dāng)前所接收的請(qǐng)求與上一次的用戶(hù)頁(yè)面之間無(wú)超鏈接關(guān)系,則用戶(hù)存在使用按鈕調(diào)節(jié)緩存至頁(yè)面的情況,此時(shí)應(yīng)采用檢索引擎進(jìn)行請(qǐng)求確定頁(yè)數(shù)的指引,若在用戶(hù)訪問(wèn)多條頁(yè)面中都存在包含當(dāng)前頁(yè)的連接請(qǐng)求,則將設(shè)定站點(diǎn)結(jié)構(gòu)進(jìn)行頁(yè)面代替,并通過(guò)此種方式將所遺漏的頁(yè)面請(qǐng)求補(bǔ)充至用戶(hù)會(huì)話(huà)頁(yè)面[14]。
在對(duì)數(shù)據(jù)預(yù)處理后,對(duì)權(quán)限配置過(guò)程的異常情況進(jìn)行檢測(cè),對(duì)異常權(quán)限配置進(jìn)行規(guī)則匹配,再利用UPA繁復(fù)對(duì)權(quán)限信息進(jìn)行用戶(hù)相似度的聚類(lèi),由此獲得相似用戶(hù)訪問(wèn)的集合。但在規(guī)則匹配和異常權(quán)限配置過(guò)程前,需對(duì)權(quán)限配置信息進(jìn)行預(yù)處理。這一預(yù)處理過(guò)程的對(duì)象為權(quán)限配置信息,將其劃分為不同的類(lèi)簇并判斷異常權(quán)限信息的位置。這一過(guò)程能夠避免挖掘過(guò)程的盲目性,排除了其他數(shù)據(jù)的干擾,有效提高挖掘效率和精度。
在將異常權(quán)限配置進(jìn)行檢測(cè)之前,需對(duì)其進(jìn)行信息預(yù)處理,設(shè)定獨(dú)立的類(lèi)簇種族,并構(gòu)造指數(shù)模式向量,利用指數(shù)模式向量中的不同參數(shù)判定異常權(quán)限的所在區(qū)域。若相對(duì)應(yīng)的位置模式向量的參數(shù)都為1,則指數(shù)模式向量中此參數(shù)存在位置也為1,剩余選取位置皆為0[15]。
將預(yù)先設(shè)置的異常權(quán)限配置信息進(jìn)行數(shù)據(jù)規(guī)則篩選,并將篩選結(jié)果進(jìn)行集合組排列。若某個(gè)權(quán)限被其中一個(gè)特定用戶(hù)所訪問(wèn),則賦予此匹配權(quán)限用戶(hù)的存在比值小于指定閾值距離a,并將此位置設(shè)定為正確位置[16]。若某個(gè)權(quán)限被多個(gè)應(yīng)用用戶(hù)所使用,則當(dāng)前存在的用戶(hù)占取全部用戶(hù)的配備比值小于指定閾值。除此以外,當(dāng)剩余包括該權(quán)限特征的指定模式向量的交集存在2種情況:
1) 指定為該模式向量的子集,并設(shè)定權(quán)限配置為正常權(quán)限配置,不加以配置處理。
2) 若無(wú)指定為該模式向量的子集,并設(shè)定權(quán)限配置為異常權(quán)限配置,將此權(quán)限配置列入異常權(quán)限配置候選組中,并在各個(gè)權(quán)限配置方形陣中設(shè)置相應(yīng)位置為0。若在未被授權(quán)的用戶(hù)中出現(xiàn)比值小于指定閾值的情況,則將此類(lèi)數(shù)據(jù)同時(shí)歸入異常權(quán)限配置數(shù)據(jù)集中,并在各個(gè)權(quán)限配置方形陣中設(shè)置相應(yīng)位置為1。
依據(jù)用戶(hù)與權(quán)限方形陣采取聚類(lèi)方式進(jìn)行異常權(quán)限信息配置,不斷轉(zhuǎn)換方形陣中的配置規(guī)則,并得到數(shù)據(jù)轉(zhuǎn)置陣,利用類(lèi)聚模式進(jìn)行交叉類(lèi)聚匹配,獲取類(lèi)聚結(jié)果后根據(jù)所選取的規(guī)則制造所需的異常權(quán)限配置數(shù)據(jù)集[17]。
在對(duì)全部結(jié)果進(jìn)行綜合收集處理后,獲取新的用戶(hù)權(quán)限方形陣,并將該陣作為異常權(quán)限配置的輸入框數(shù)據(jù)源實(shí)行綜合執(zhí)行,最終達(dá)到異常權(quán)限配置檢測(cè)后的交集數(shù)據(jù)為空時(shí)停止配置。
將以上檢測(cè)出的異常權(quán)限配置進(jìn)行挖掘,在某個(gè)數(shù)據(jù)集中,利用異常數(shù)據(jù)集定義,將少數(shù)數(shù)據(jù)進(jìn)行綜合數(shù)據(jù)算法挖掘處理,可進(jìn)一步降低挖掘時(shí)間,進(jìn)而提高整體挖掘效率。
在算法的起始進(jìn)行OPTICS方法處理,將原始集合中的大量密集數(shù)據(jù)進(jìn)行聚類(lèi)處理,并將松散數(shù)據(jù)集轉(zhuǎn)換為異常種簇,并持續(xù)分析處理,在異常種簇的數(shù)據(jù)中進(jìn)行內(nèi)部離群因子的計(jì)算[18]。接著對(duì)新加入的數(shù)據(jù)進(jìn)行OPTICS方法計(jì)算,記錄新加入數(shù)據(jù)與中心種簇之間的距離關(guān)系,記下哪個(gè)種簇離中心的距離最小。若此距離小于預(yù)定的數(shù)值參數(shù)Q,則可將該數(shù)據(jù)直接添加至該種簇中。若這些新添入的數(shù)據(jù)無(wú)法滿(mǎn)足正常種簇的條件,則將組合成新的種簇[19]。最后,比較以上計(jì)算出的離群因子,并選擇出異常數(shù)據(jù)的代表參數(shù)。具體過(guò)程如下:
1) 進(jìn)行算法數(shù)據(jù)輸入,設(shè)置總體數(shù)據(jù)集,其中需要進(jìn)行輸出的異常數(shù)據(jù)的整體數(shù)量為k。
2) 調(diào)節(jié)OPTICS與IncLOF方法,將輸入的數(shù)據(jù)集進(jìn)行類(lèi)聚處理,并將橫坐標(biāo)設(shè)定為結(jié)果數(shù)據(jù)中的序列,縱坐標(biāo)設(shè)定為可達(dá)距離。
3) 按照可達(dá)距離設(shè)置的特定參數(shù)閾值r在縱坐標(biāo)中沿著平行于橫坐標(biāo)的位置進(jìn)行直線(xiàn)設(shè)置,在直線(xiàn)組合成的點(diǎn)集中劃分陡峰與密集數(shù)據(jù)綜合位置,陡增的峰尖為邊緣點(diǎn),并沿不同的陡峰中心進(jìn)行縱向切割,2個(gè)相近峰間形成常種簇[20]。
4) 當(dāng)出現(xiàn)大量數(shù)據(jù)時(shí),分別計(jì)算每個(gè)種簇的中心對(duì)象與系統(tǒng)中心對(duì)象的距離,并記錄下最小距離,若最小距離小于預(yù)先設(shè)定的閾值距離a,則將組合成一個(gè)新式異常種簇,并持續(xù)進(jìn)行以上步驟的操作,直至全部新增數(shù)據(jù)都被放置至種簇中[21]。
5) 最終進(jìn)行離群因子的LOF計(jì)算,根據(jù)其大小進(jìn)行數(shù)據(jù)排序運(yùn)算并輸出,輸出結(jié)果則為所需異常權(quán)限配置數(shù)據(jù)。其輸出公式為z=ak+Q。
為檢測(cè)NetLinX開(kāi)放網(wǎng)絡(luò)下異常權(quán)限配置挖掘算法的實(shí)際應(yīng)用效果,將該算法與傳統(tǒng)算法進(jìn)行對(duì)比,從挖掘精確度和挖掘效率2個(gè)角度分析不同挖掘算法的有效性。設(shè)定實(shí)驗(yàn)參數(shù)如表1所示。
表 1 實(shí)驗(yàn)參數(shù)表Tab.1 Experimental parameter table
將NetLinX開(kāi)放網(wǎng)絡(luò)下異常權(quán)限配置挖掘算法的挖掘結(jié)果與文獻(xiàn)[3]中的基于譜聚類(lèi)的訪問(wèn)控制異常權(quán)限配置挖掘算法及文獻(xiàn)[5]中的Android系統(tǒng)中權(quán)限異常檢測(cè)算法的挖掘效果進(jìn)行比較,得到的挖掘精確度對(duì)比與挖掘算法效率對(duì)比。挖掘精確度對(duì)比如圖2所示。
圖 2 挖掘精確度對(duì)比圖Fig.2 Mining accuracy comparison chart
從圖2可知,在相同參數(shù)條件下,由于本文算法采取獨(dú)立模型形式,在挖掘過(guò)程中減少了其他因素的阻礙,并選用Jaccard距離測(cè)試降低了環(huán)境因素影響,進(jìn)一步提高了整體算法的挖掘力度,進(jìn)而促使本文算法挖掘精度高于傳統(tǒng)算法。而文獻(xiàn)[3]算法受其他因素影響較大,無(wú)法確保系統(tǒng)正常運(yùn)行,導(dǎo)致挖掘精確度較低。挖掘算法效率對(duì)比如圖3所示。
圖 3 挖掘算法效率對(duì)比圖Fig.3 Mining algorithm efficiency comparison chart
從圖3可知,當(dāng)挖掘時(shí)間為20 s時(shí),本文挖掘算法效率為52%,而文獻(xiàn)[5]算法的挖掘效率僅為15%。此種差異形成的原因?yàn)楸疚乃惴ɡ肧mooth識(shí)別方法,對(duì)初始數(shù)據(jù)進(jìn)行識(shí)別,一定程度上降低了挖掘系統(tǒng)的識(shí)別壓力,減少了挖掘時(shí)間,提高整體挖掘效率。
在此后的挖掘中, 隨挖掘時(shí)間的增加, 本文挖掘算法的挖掘效率持續(xù)高于傳統(tǒng)算法的挖掘效率, 造成此種差異的原因在于本文挖掘算法相較傳統(tǒng)挖掘算法, 采用孤立點(diǎn)查詢(xún), 排除非測(cè)試點(diǎn)的干擾, 能夠更有效的完成挖掘任務(wù)。 而文獻(xiàn)[5]算法的挖掘數(shù)據(jù)較為繁雜, 對(duì)于挖掘數(shù)據(jù)的分類(lèi)整理效果較差。
經(jīng)過(guò)以上的對(duì)比分析可知,本文挖掘算法的挖掘精確度與挖掘效率高于傳統(tǒng)算法,在較大程度上阻止了非測(cè)試因素與其他干擾因素的影響,降低了數(shù)據(jù)冗雜度,提高了挖掘的整體效率,具備更加廣闊的使用空間。
相較于傳統(tǒng)算法,本文算法在較大程度上排除了其他數(shù)據(jù)的干擾,降低了數(shù)據(jù)存在的數(shù)量度,進(jìn)而提高了挖掘的效率,能夠較為清晰地提供數(shù)據(jù)來(lái)源,減少挖掘時(shí)間,為使用者提供便利的挖掘,具備更加優(yōu)越的發(fā)展空間與使用市場(chǎng)。然而,現(xiàn)有挖掘算法在權(quán)限配置過(guò)程包含的錯(cuò)誤權(quán)限的問(wèn)題暫時(shí)并未得到解決,定向挖掘結(jié)果還未達(dá)到理想狀態(tài)。因此,在今后的研究中,將進(jìn)一步提高本方法的定位挖掘處理能力,擴(kuò)大該方法的應(yīng)用范圍。