前言:想要寫出一篇引人入勝的文章?我們特意為您整理了網(wǎng)頁設(shè)計(jì)中惡意代碼檢測算法構(gòu)建范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。
摘要:當(dāng)前互聯(lián)網(wǎng)技術(shù)快速發(fā)展,人們的網(wǎng)絡(luò)使用頻率也越來越高。瀏覽網(wǎng)頁成了大眾獲取資訊信息以及進(jìn)行娛樂休閑的重要手段。但是在網(wǎng)頁瀏覽過程中,網(wǎng)頁惡意代碼的存在極大影響了網(wǎng)絡(luò)用戶的上網(wǎng)體驗(yàn),為了有效解決這一問題,將分析如何在網(wǎng)頁安全管理中建立對(duì)惡意代碼的檢測方案。通過分析惡意代碼特征,并借助詞頻統(tǒng)計(jì)挖掘代碼特征,獲取特征值,從而及時(shí)發(fā)現(xiàn)并召回惡意代碼,避免其破壞網(wǎng)頁的流暢運(yùn)行。
關(guān)鍵詞:惡意代碼;檢測算法;安全管理
在信息時(shí)代,互聯(lián)網(wǎng)技術(shù)在人們生活、娛樂、休閑等行為活動(dòng)中的占比逐漸增大。網(wǎng)絡(luò)成為大眾獲取信息、了解世界的重要窗口。但是,在網(wǎng)絡(luò)技術(shù)逐漸滿足人們?nèi)粘YY訊需求的同時(shí),因?yàn)閻阂獯a所帶來的網(wǎng)絡(luò)安全事故也嚴(yán)重影響著廣大網(wǎng)絡(luò)用戶的計(jì)算機(jī)安全。惡意代碼對(duì)網(wǎng)頁有很大的破壞性,如果不能在短時(shí)間內(nèi)發(fā)現(xiàn)惡意代碼,將會(huì)對(duì)網(wǎng)頁平臺(tái)以及訪問網(wǎng)頁的互聯(lián)網(wǎng)用戶造成巨大損失,故出于減小惡意代碼威脅的目的,網(wǎng)頁安全管理人員要構(gòu)建起良好的檢測算法,及時(shí)發(fā)現(xiàn)和根除威脅,保證網(wǎng)頁安全。
1網(wǎng)頁惡意代碼的概念及攻擊方式
搭建一個(gè)網(wǎng)頁通常會(huì)用到ActiveX等控件和JavaScript等編程語言,惡意代碼就是以這些控件和語言腳本為攻擊點(diǎn),在網(wǎng)頁運(yùn)行時(shí)查找電腦安全漏洞,以未經(jīng)網(wǎng)頁運(yùn)行者同意或者知曉的方式執(zhí)行網(wǎng)頁內(nèi)的控件腳本來達(dá)到某種具有惡意和破壞性目的[1]。如果用戶在訪問網(wǎng)頁時(shí)不小心觸發(fā)了惡意代碼,有一定概率造成用戶的主機(jī)被惡意程序入侵,產(chǎn)生用戶電腦系統(tǒng)的注冊(cè)表設(shè)置或者程序配置被篡改,電腦資源被惡意盜取或刪除,引發(fā)電腦死機(jī)和資料丟失等惡果。惡意代碼的攻擊方式有兩種,一種主動(dòng)攻擊,這種攻擊方式容易被察覺,并被防火墻阻隔。因此當(dāng)前大部分的惡意代碼采用的是第二種攻擊方式,也就是被動(dòng)攻擊模式,這種攻擊方式通過SQL注入或者跨站腳本攻擊等手段獲取服務(wù)器的控制權(quán),在得到控制權(quán)后,攻擊者會(huì)在網(wǎng)頁的服務(wù)器中植入<iframe>標(biāo)簽或者JavaScript惡意代碼,當(dāng)用戶在訪問網(wǎng)頁時(shí),事先植入的標(biāo)簽或者代碼被觸發(fā),引起多次重定向操作。訪問者的訪問界面會(huì)被強(qiáng)制性轉(zhuǎn)移到攻擊者制作的惡意網(wǎng)頁,在進(jìn)入惡意網(wǎng)頁后,攻擊程序會(huì)檢查訪問者電腦的系統(tǒng)環(huán)境,尋找其中可能存在的漏洞,一旦發(fā)現(xiàn)存在漏洞可以利用,程序就會(huì)對(duì)訪問者的主機(jī)發(fā)動(dòng)攻擊,執(zhí)行各種強(qiáng)迫性操作,比如不經(jīng)用戶同意或允許,將各種垃圾程序強(qiáng)行安裝到用戶電腦,擠占資源,或者修改用戶的系統(tǒng)環(huán)境參數(shù),造成電腦運(yùn)行卡頓,數(shù)據(jù)外泄等。歸納而言,網(wǎng)頁惡意代碼的攻擊過程可以分為五個(gè)步驟:①將惡意代碼嵌入網(wǎng)頁服務(wù)器;②在網(wǎng)頁服務(wù)器接收到用戶請(qǐng)求后觸發(fā);③在用戶返回網(wǎng)頁時(shí)攻擊用戶瀏覽器,或者進(jìn)行重定向操作強(qiáng)迫用戶的訪問頁面跳轉(zhuǎn),進(jìn)入攻擊者所制作的惡意網(wǎng)頁;④惡意網(wǎng)頁檢查用戶主機(jī)系統(tǒng)的安全防護(hù)情況,尋找安全漏洞和攻擊機(jī)會(huì);⑤觸發(fā)漏洞后搶奪主機(jī)權(quán)限,獲得電腦控制權(quán),進(jìn)行惡意操作,損害用戶利益。由此可見,攻擊者出于隱蔽性和保密性的目的,多采用惡意代碼被訪問者觸發(fā)再發(fā)起攻擊的被動(dòng)攻擊模式,這讓惡意代碼存在一定的潛伏性,在網(wǎng)頁安全管理中較難察覺,因此管理者需要加強(qiáng)對(duì)檢測算法的構(gòu)建,篩查和發(fā)現(xiàn)網(wǎng)頁中的惡意代碼,并及時(shí)清除,防止對(duì)訪問用戶的主機(jī)造成傷害,引發(fā)網(wǎng)絡(luò)安全事故。
2檢測惡意代碼的算法類型
常用的網(wǎng)頁惡意代碼檢測算法有支持向量機(jī)、樸素貝葉斯、神經(jīng)網(wǎng)絡(luò)三種,三種算法的檢測效果各有不同,需要結(jié)合網(wǎng)頁的安全管理需求適當(dāng)挑選。(1)支持向量機(jī)支持向量機(jī)是一種常見的分類算法,在惡意代碼檢測工作中應(yīng)用較多,該算法最早提出于1995年,由Vapnik等人所設(shè)計(jì),其原理是利用統(tǒng)計(jì)學(xué)習(xí)理論,采用非線性映射,將樣本數(shù)據(jù)從低維映射到高維特征空間,并在高維空間中搭建間隔超平面,實(shí)現(xiàn)各種類型數(shù)據(jù)的有效分隔[2]。支持向量機(jī)的決策函數(shù)又稱核函數(shù),在使用支持向量機(jī)的過程中,確定最佳核函數(shù)才能讓模型效果達(dá)到最好,如圖1所示。從圖1可見在支持向量機(jī)的二維特征空間中,邊界兩邊是各種類別樣本的分隔處,管理者可以通過對(duì)決策邊界進(jìn)行確定,解決存在的樣本分類問題,也就是f:wχ+b=0的邊界問題,在邊界函數(shù)中,如果向量w和參數(shù)b可以得到確認(rèn),那么就能確定邊界f,分類問題也就可以得到解決。不過在支持向量機(jī)的特征空間中,往往存在很多相互平行或者不同方向的決策邊界,為了確保樣本分類的準(zhǔn)確性,SVM需要得到最佳的分離決策邊界,從而讓樣本邊緣達(dá)到最大,分類效果達(dá)到最佳。(2)樸素貝葉斯樸素貝葉斯是貝葉斯分類算法的算法模式之一,該算法以概率統(tǒng)計(jì)理論為基礎(chǔ),通過假設(shè)類中的特征各自獨(dú)立、互不影響來確定數(shù)據(jù)樣本歸類[3]。不過在現(xiàn)實(shí)情況中,樸素貝葉斯所設(shè)定的特征A、B、C彼此的存在互不關(guān)聯(lián)很難成立,所以一般采取降低屬性依賴關(guān)系的方式來提升樸素貝葉斯的分類準(zhǔn)確率。具體做法是將所有的數(shù)據(jù)樣本設(shè)為n維度特征向量X表示,即X=χ1,χ2,χ3,χ4...,χn,所有的數(shù)據(jù)樣本又可以分成m個(gè)類,即表示為C1,C2,C3,C4,...Cm.在網(wǎng)頁安全管理中,管理人員預(yù)測到新數(shù)據(jù)樣本X,按照樸素貝葉斯的分類方法將該新數(shù)據(jù)樣本標(biāo)記成Ci,表示X被分到了i類,此時(shí)新樣本數(shù)據(jù)具最高后驗(yàn)概率,計(jì)算公式為P�CiX�>P�CjX�,其中1≤j≤,且。依照貝葉斯定律的計(jì)算公式為:P(Ci/X)>P(X/Cj)×P(Ci)/P(X)在安全管理人員給定預(yù)測數(shù)據(jù)樣本之后,P(X)作為常數(shù),這樣對(duì)數(shù)據(jù)樣本的分類就不會(huì)有影響,安全管理人員只需計(jì)算出P(X/Cj)×P(Ci)就能得到最大的P(Ci/X),而P(Ci)的計(jì)算公式為P(Ci)=Si/S,P(X/Cj)的計(jì)算公式為P(Cj/X)=∏P(χk)/nk=1Ci。其中,S表示數(shù)據(jù)樣本的綜述,Si表示Ci類別的數(shù)據(jù)樣本數(shù),根據(jù)最終的計(jì)算結(jié)果,安全管理人員可以知曉新數(shù)據(jù)樣本屬于哪一類的概率較大,并適當(dāng)歸類。如當(dāng)根據(jù)樸素貝葉斯計(jì)算新數(shù)據(jù)樣本含惡意代碼的概率小于不含惡意代碼概率,那么被測網(wǎng)頁就會(huì)被歸類為正常網(wǎng)頁,但如果數(shù)據(jù)樣本的含惡意代碼概率大于不含惡意代碼概率,那么被測網(wǎng)頁就會(huì)被歸類到惡意網(wǎng)頁。(3)神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)的模型多采用BP網(wǎng)絡(luò),其結(jié)構(gòu)為三層神經(jīng)網(wǎng)絡(luò),即該網(wǎng)絡(luò)有三層處理單元,除輸入層外,還有隱含層和輸出層,不同層有各自的神經(jīng)元,具體如圖2所示[4]。從圖中可見,神經(jīng)網(wǎng)絡(luò)是一個(gè)向前反饋的數(shù)據(jù)網(wǎng)絡(luò),當(dāng)隱含層和輸出層這兩層處理單元接收到反饋時(shí),會(huì)檢測其效果是否達(dá)標(biāo),并通過修改權(quán)重讓訓(xùn)練持續(xù)下去,并以這樣不斷地在反饋接受中修改權(quán)重,持續(xù)訓(xùn)練,來起到減少誤差的目的,最終完成訓(xùn)練效果,實(shí)現(xiàn)對(duì)數(shù)據(jù)的預(yù)測和分類。
3檢測惡意代碼的算法構(gòu)建
檢測惡意代碼的算法以上述三個(gè)算法為基礎(chǔ),采取區(qū)塊鏈技術(shù),增加賬戶數(shù)據(jù)和本地訪問,在區(qū)塊鏈類型中,訪問是用哈希值形式存儲(chǔ)在塊數(shù)據(jù),同時(shí),因?yàn)閴K頭上增加了賬戶樹根,區(qū)塊數(shù)據(jù)結(jié)構(gòu)如圖3所示。其中,Time是時(shí)間戳,是對(duì)礦工挖礦的時(shí)間記錄,而Nonce是作為礦工計(jì)算出的一個(gè)不超過要求值的哈希值,是礦工完成工作量的證明。從圖3的區(qū)塊數(shù)據(jù)結(jié)構(gòu)可見,在區(qū)塊鏈中,PrevBlockHash是以前塊的整個(gè)塊數(shù)據(jù)進(jìn)行哈希運(yùn)算后得到的哈希指針,這個(gè)哈希指針從結(jié)構(gòu)中的前塊指向后塊,所以后塊就保留了前塊的哈希值,也就是說每個(gè)區(qū)塊中會(huì)保存上一個(gè)塊的哈希值,這樣一來就形成了鏈?zhǔn)浇Y(jié)構(gòu),同時(shí)輕量型區(qū)塊鏈也具備了不可篡改性。因?yàn)橄乱粋€(gè)塊要記錄上一個(gè)塊的哈希值,如果改動(dòng)任意一個(gè)區(qū)塊的身前區(qū)塊數(shù)據(jù),就會(huì)引發(fā)數(shù)據(jù)沖突,而身后區(qū)塊的PrevBlockHash就會(huì)對(duì)身前區(qū)塊的數(shù)據(jù)進(jìn)行檢驗(yàn),避免了訪問中存在的數(shù)據(jù)錯(cuò)誤,利用這種逐層計(jì)算訪問哈希值的方式,檢驗(yàn)訪問本身的合法性。在運(yùn)行區(qū)塊鏈時(shí),操作人員只需要將訪問中需要計(jì)算的訪問數(shù)據(jù)和該區(qū)塊中其他訪問做運(yùn)算,然后將ROOT值做簡單比較就可以驗(yàn)證訪問合法性。當(dāng)發(fā)現(xiàn)疑似不合法信息時(shí),獲取網(wǎng)頁的源代碼文件,然后進(jìn)行檢測,三種算法會(huì)對(duì)網(wǎng)頁源代碼使用正則表達(dá)式進(jìn)行處理,提取其中的<iframe>和<script>兩個(gè)標(biāo)簽之間的代碼,并對(duì)提取到的代碼做詞頻統(tǒng)計(jì)和詞頻向量化處理,從中獲取到特征,在獲取到特征之后使用訓(xùn)練好的模型對(duì)網(wǎng)頁進(jìn)行分類,判定網(wǎng)頁屬于正常網(wǎng)頁還是惡意網(wǎng)頁,當(dāng)網(wǎng)頁被三種算法中的兩種認(rèn)定為正常網(wǎng)頁時(shí),表明該網(wǎng)頁不存在惡意代碼,如果有至少兩種算法認(rèn)定該網(wǎng)頁屬于惡意網(wǎng)頁,表明該網(wǎng)頁存在惡意代碼。
4結(jié)語
綜上所述,網(wǎng)頁運(yùn)行的安全性與穩(wěn)定性,能夠?qū)W(wǎng)絡(luò)用戶的休閑娛樂、資訊信息獲取產(chǎn)生促進(jìn)作用。但是計(jì)算機(jī)在使用中容易受到網(wǎng)絡(luò)安全隱患,為廣大用戶日常生活帶來了不利影響。管理人員必須在網(wǎng)絡(luò)安全防護(hù)中增加投入,既要建立完善的檢測算法,也要配置先進(jìn)的軟件設(shè)備,并增強(qiáng)用戶網(wǎng)絡(luò)安全防護(hù)意識(shí),才能構(gòu)建安全、穩(wěn)定的網(wǎng)絡(luò)環(huán)境,真正發(fā)揮出網(wǎng)頁的信息共享和傳遞功能。
參考文獻(xiàn):
[1]邵福駿.移動(dòng)平臺(tái)惡意軟件檢測算法的設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2020.
[2]基于N-gram特征的網(wǎng)絡(luò)惡意代碼分析方法[J].數(shù)字技術(shù)與應(yīng)用,2020,357(03):59-60+62.
[3]朱翔宇,張健,高鋮,等.基于虛擬化環(huán)境惡意代碼檢測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].天津理工大學(xué)學(xué)報(bào),2020,158(01):15-20+27.
[4]張華,陳淑珍.基于BP神經(jīng)網(wǎng)絡(luò)算法的惡意代碼檢測系統(tǒng)[J].莆田學(xué)院學(xué)報(bào),2020,130(05):75-80.
作者:謝淑林 單位:福建寧德財(cái)經(jīng)學(xué)校