公務員期刊網(wǎng) 論文中心 正文

網(wǎng)頁設(shè)計中惡意代碼檢測算法構(gòu)建

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了網(wǎng)頁設(shè)計中惡意代碼檢測算法構(gòu)建范文,希望能給你帶來靈感和參考,敬請閱讀。

網(wǎng)頁設(shè)計中惡意代碼檢測算法構(gòu)建

摘要:當前互聯(lián)網(wǎng)技術(shù)快速發(fā)展,人們的網(wǎng)絡使用頻率也越來越高。瀏覽網(wǎng)頁成了大眾獲取資訊信息以及進行娛樂休閑的重要手段。但是在網(wǎng)頁瀏覽過程中,網(wǎng)頁惡意代碼的存在極大影響了網(wǎng)絡用戶的上網(wǎng)體驗,為了有效解決這一問題,將分析如何在網(wǎng)頁安全管理中建立對惡意代碼的檢測方案。通過分析惡意代碼特征,并借助詞頻統(tǒng)計挖掘代碼特征,獲取特征值,從而及時發(fā)現(xiàn)并召回惡意代碼,避免其破壞網(wǎng)頁的流暢運行。

關(guān)鍵詞:惡意代碼;檢測算法;安全管理

在信息時代,互聯(lián)網(wǎng)技術(shù)在人們生活、娛樂、休閑等行為活動中的占比逐漸增大。網(wǎng)絡成為大眾獲取信息、了解世界的重要窗口。但是,在網(wǎng)絡技術(shù)逐漸滿足人們?nèi)粘YY訊需求的同時,因為惡意代碼所帶來的網(wǎng)絡安全事故也嚴重影響著廣大網(wǎng)絡用戶的計算機安全。惡意代碼對網(wǎng)頁有很大的破壞性,如果不能在短時間內(nèi)發(fā)現(xiàn)惡意代碼,將會對網(wǎng)頁平臺以及訪問網(wǎng)頁的互聯(lián)網(wǎng)用戶造成巨大損失,故出于減小惡意代碼威脅的目的,網(wǎng)頁安全管理人員要構(gòu)建起良好的檢測算法,及時發(fā)現(xiàn)和根除威脅,保證網(wǎng)頁安全。

1網(wǎng)頁惡意代碼的概念及攻擊方式

搭建一個網(wǎng)頁通常會用到ActiveX等控件和JavaScript等編程語言,惡意代碼就是以這些控件和語言腳本為攻擊點,在網(wǎng)頁運行時查找電腦安全漏洞,以未經(jīng)網(wǎng)頁運行者同意或者知曉的方式執(zhí)行網(wǎng)頁內(nèi)的控件腳本來達到某種具有惡意和破壞性目的[1]。如果用戶在訪問網(wǎng)頁時不小心觸發(fā)了惡意代碼,有一定概率造成用戶的主機被惡意程序入侵,產(chǎn)生用戶電腦系統(tǒng)的注冊表設(shè)置或者程序配置被篡改,電腦資源被惡意盜取或刪除,引發(fā)電腦死機和資料丟失等惡果。惡意代碼的攻擊方式有兩種,一種主動攻擊,這種攻擊方式容易被察覺,并被防火墻阻隔。因此當前大部分的惡意代碼采用的是第二種攻擊方式,也就是被動攻擊模式,這種攻擊方式通過SQL注入或者跨站腳本攻擊等手段獲取服務器的控制權(quán),在得到控制權(quán)后,攻擊者會在網(wǎng)頁的服務器中植入<iframe>標簽或者JavaScript惡意代碼,當用戶在訪問網(wǎng)頁時,事先植入的標簽或者代碼被觸發(fā),引起多次重定向操作。訪問者的訪問界面會被強制性轉(zhuǎn)移到攻擊者制作的惡意網(wǎng)頁,在進入惡意網(wǎng)頁后,攻擊程序會檢查訪問者電腦的系統(tǒng)環(huán)境,尋找其中可能存在的漏洞,一旦發(fā)現(xiàn)存在漏洞可以利用,程序就會對訪問者的主機發(fā)動攻擊,執(zhí)行各種強迫性操作,比如不經(jīng)用戶同意或允許,將各種垃圾程序強行安裝到用戶電腦,擠占資源,或者修改用戶的系統(tǒng)環(huán)境參數(shù),造成電腦運行卡頓,數(shù)據(jù)外泄等。歸納而言,網(wǎng)頁惡意代碼的攻擊過程可以分為五個步驟:①將惡意代碼嵌入網(wǎng)頁服務器;②在網(wǎng)頁服務器接收到用戶請求后觸發(fā);③在用戶返回網(wǎng)頁時攻擊用戶瀏覽器,或者進行重定向操作強迫用戶的訪問頁面跳轉(zhuǎn),進入攻擊者所制作的惡意網(wǎng)頁;④惡意網(wǎng)頁檢查用戶主機系統(tǒng)的安全防護情況,尋找安全漏洞和攻擊機會;⑤觸發(fā)漏洞后搶奪主機權(quán)限,獲得電腦控制權(quán),進行惡意操作,損害用戶利益。由此可見,攻擊者出于隱蔽性和保密性的目的,多采用惡意代碼被訪問者觸發(fā)再發(fā)起攻擊的被動攻擊模式,這讓惡意代碼存在一定的潛伏性,在網(wǎng)頁安全管理中較難察覺,因此管理者需要加強對檢測算法的構(gòu)建,篩查和發(fā)現(xiàn)網(wǎng)頁中的惡意代碼,并及時清除,防止對訪問用戶的主機造成傷害,引發(fā)網(wǎng)絡安全事故。

2檢測惡意代碼的算法類型

常用的網(wǎng)頁惡意代碼檢測算法有支持向量機、樸素貝葉斯、神經(jīng)網(wǎng)絡三種,三種算法的檢測效果各有不同,需要結(jié)合網(wǎng)頁的安全管理需求適當挑選。(1)支持向量機支持向量機是一種常見的分類算法,在惡意代碼檢測工作中應用較多,該算法最早提出于1995年,由Vapnik等人所設(shè)計,其原理是利用統(tǒng)計學習理論,采用非線性映射,將樣本數(shù)據(jù)從低維映射到高維特征空間,并在高維空間中搭建間隔超平面,實現(xiàn)各種類型數(shù)據(jù)的有效分隔[2]。支持向量機的決策函數(shù)又稱核函數(shù),在使用支持向量機的過程中,確定最佳核函數(shù)才能讓模型效果達到最好,如圖1所示。從圖1可見在支持向量機的二維特征空間中,邊界兩邊是各種類別樣本的分隔處,管理者可以通過對決策邊界進行確定,解決存在的樣本分類問題,也就是f:wχ+b=0的邊界問題,在邊界函數(shù)中,如果向量w和參數(shù)b可以得到確認,那么就能確定邊界f,分類問題也就可以得到解決。不過在支持向量機的特征空間中,往往存在很多相互平行或者不同方向的決策邊界,為了確保樣本分類的準確性,SVM需要得到最佳的分離決策邊界,從而讓樣本邊緣達到最大,分類效果達到最佳。(2)樸素貝葉斯樸素貝葉斯是貝葉斯分類算法的算法模式之一,該算法以概率統(tǒng)計理論為基礎(chǔ),通過假設(shè)類中的特征各自獨立、互不影響來確定數(shù)據(jù)樣本歸類[3]。不過在現(xiàn)實情況中,樸素貝葉斯所設(shè)定的特征A、B、C彼此的存在互不關(guān)聯(lián)很難成立,所以一般采取降低屬性依賴關(guān)系的方式來提升樸素貝葉斯的分類準確率。具體做法是將所有的數(shù)據(jù)樣本設(shè)為n維度特征向量X表示,即X=χ1,χ2,χ3,χ4...,χn,所有的數(shù)據(jù)樣本又可以分成m個類,即表示為C1,C2,C3,C4,...Cm.在網(wǎng)頁安全管理中,管理人員預測到新數(shù)據(jù)樣本X,按照樸素貝葉斯的分類方法將該新數(shù)據(jù)樣本標記成Ci,表示X被分到了i類,此時新樣本數(shù)據(jù)具最高后驗概率,計算公式為P�CiX�>P�CjX�,其中1≤j≤,且。依照貝葉斯定律的計算公式為:P(Ci/X)>P(X/Cj)×P(Ci)/P(X)在安全管理人員給定預測數(shù)據(jù)樣本之后,P(X)作為常數(shù),這樣對數(shù)據(jù)樣本的分類就不會有影響,安全管理人員只需計算出P(X/Cj)×P(Ci)就能得到最大的P(Ci/X),而P(Ci)的計算公式為P(Ci)=Si/S,P(X/Cj)的計算公式為P(Cj/X)=∏P(χk)/nk=1Ci。其中,S表示數(shù)據(jù)樣本的綜述,Si表示Ci類別的數(shù)據(jù)樣本數(shù),根據(jù)最終的計算結(jié)果,安全管理人員可以知曉新數(shù)據(jù)樣本屬于哪一類的概率較大,并適當歸類。如當根據(jù)樸素貝葉斯計算新數(shù)據(jù)樣本含惡意代碼的概率小于不含惡意代碼概率,那么被測網(wǎng)頁就會被歸類為正常網(wǎng)頁,但如果數(shù)據(jù)樣本的含惡意代碼概率大于不含惡意代碼概率,那么被測網(wǎng)頁就會被歸類到惡意網(wǎng)頁。(3)神經(jīng)網(wǎng)絡神經(jīng)網(wǎng)絡的模型多采用BP網(wǎng)絡,其結(jié)構(gòu)為三層神經(jīng)網(wǎng)絡,即該網(wǎng)絡有三層處理單元,除輸入層外,還有隱含層和輸出層,不同層有各自的神經(jīng)元,具體如圖2所示[4]。從圖中可見,神經(jīng)網(wǎng)絡是一個向前反饋的數(shù)據(jù)網(wǎng)絡,當隱含層和輸出層這兩層處理單元接收到反饋時,會檢測其效果是否達標,并通過修改權(quán)重讓訓練持續(xù)下去,并以這樣不斷地在反饋接受中修改權(quán)重,持續(xù)訓練,來起到減少誤差的目的,最終完成訓練效果,實現(xiàn)對數(shù)據(jù)的預測和分類。

3檢測惡意代碼的算法構(gòu)建

檢測惡意代碼的算法以上述三個算法為基礎(chǔ),采取區(qū)塊鏈技術(shù),增加賬戶數(shù)據(jù)和本地訪問,在區(qū)塊鏈類型中,訪問是用哈希值形式存儲在塊數(shù)據(jù),同時,因為塊頭上增加了賬戶樹根,區(qū)塊數(shù)據(jù)結(jié)構(gòu)如圖3所示。其中,Time是時間戳,是對礦工挖礦的時間記錄,而Nonce是作為礦工計算出的一個不超過要求值的哈希值,是礦工完成工作量的證明。從圖3的區(qū)塊數(shù)據(jù)結(jié)構(gòu)可見,在區(qū)塊鏈中,PrevBlockHash是以前塊的整個塊數(shù)據(jù)進行哈希運算后得到的哈希指針,這個哈希指針從結(jié)構(gòu)中的前塊指向后塊,所以后塊就保留了前塊的哈希值,也就是說每個區(qū)塊中會保存上一個塊的哈希值,這樣一來就形成了鏈式結(jié)構(gòu),同時輕量型區(qū)塊鏈也具備了不可篡改性。因為下一個塊要記錄上一個塊的哈希值,如果改動任意一個區(qū)塊的身前區(qū)塊數(shù)據(jù),就會引發(fā)數(shù)據(jù)沖突,而身后區(qū)塊的PrevBlockHash就會對身前區(qū)塊的數(shù)據(jù)進行檢驗,避免了訪問中存在的數(shù)據(jù)錯誤,利用這種逐層計算訪問哈希值的方式,檢驗訪問本身的合法性。在運行區(qū)塊鏈時,操作人員只需要將訪問中需要計算的訪問數(shù)據(jù)和該區(qū)塊中其他訪問做運算,然后將ROOT值做簡單比較就可以驗證訪問合法性。當發(fā)現(xiàn)疑似不合法信息時,獲取網(wǎng)頁的源代碼文件,然后進行檢測,三種算法會對網(wǎng)頁源代碼使用正則表達式進行處理,提取其中的<iframe>和<script>兩個標簽之間的代碼,并對提取到的代碼做詞頻統(tǒng)計和詞頻向量化處理,從中獲取到特征,在獲取到特征之后使用訓練好的模型對網(wǎng)頁進行分類,判定網(wǎng)頁屬于正常網(wǎng)頁還是惡意網(wǎng)頁,當網(wǎng)頁被三種算法中的兩種認定為正常網(wǎng)頁時,表明該網(wǎng)頁不存在惡意代碼,如果有至少兩種算法認定該網(wǎng)頁屬于惡意網(wǎng)頁,表明該網(wǎng)頁存在惡意代碼。

4結(jié)語

綜上所述,網(wǎng)頁運行的安全性與穩(wěn)定性,能夠?qū)W(wǎng)絡用戶的休閑娛樂、資訊信息獲取產(chǎn)生促進作用。但是計算機在使用中容易受到網(wǎng)絡安全隱患,為廣大用戶日常生活帶來了不利影響。管理人員必須在網(wǎng)絡安全防護中增加投入,既要建立完善的檢測算法,也要配置先進的軟件設(shè)備,并增強用戶網(wǎng)絡安全防護意識,才能構(gòu)建安全、穩(wěn)定的網(wǎng)絡環(huán)境,真正發(fā)揮出網(wǎng)頁的信息共享和傳遞功能。

參考文獻:

[1]邵福駿.移動平臺惡意軟件檢測算法的設(shè)計與實現(xiàn)[D].電子科技大學,2020.

[2]基于N-gram特征的網(wǎng)絡惡意代碼分析方法[J].數(shù)字技術(shù)與應用,2020,357(03):59-60+62.

[3]朱翔宇,張健,高鋮,等.基于虛擬化環(huán)境惡意代碼檢測系統(tǒng)的設(shè)計與實現(xiàn)[J].天津理工大學學報,2020,158(01):15-20+27.

[4]張華,陳淑珍.基于BP神經(jīng)網(wǎng)絡算法的惡意代碼檢測系統(tǒng)[J].莆田學院學報,2020,130(05):75-80.

作者:謝淑林 單位:福建寧德財經(jīng)學校

相關(guān)熱門標簽