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