肖行
摘要:隨著物聯(lián)網、云計算、大數(shù)據(jù)、智能手機的普及,數(shù)以億計的各種不同類型的設備,所產生的海量數(shù)據(jù),對網絡安全的難度提高了幾個數(shù)量級。傳統(tǒng)的安全解決方案耗時耗力,也滿足不了對未知病毒,安全漏洞的預測。本文通過分析電腦軟件和硬件的運行環(huán)境,來預測計算機在抵御計算機病毒的能力,可作為現(xiàn)有計算機病毒檢測良好的補充。
關鍵詞:網絡;安全;病毒檢測;軟件;硬件;運行環(huán)境
中圖分類號:R373 文獻標識碼:A 文章編號:1007-9416(2019)03-0201-01
隨著近年來網絡安全事件頻發(fā),網絡安全形勢日益嚴峻,國家政治安全和用戶信息遭到威脅,網絡安全越來越值得我們重視。本文試圖從網絡病毒檢測方向出發(fā),探討怎樣更好保護地網絡安全。
1 傳統(tǒng)病毒檢測方法分析
現(xiàn)在的病毒檢測方法,主要是通過對目前已經發(fā)現(xiàn),并且大規(guī)模爆發(fā)的病毒,進行手動提取病毒的特征。
特征代碼分析方法,主要通過采集已知病毒樣本,分析是否含有病毒代碼病毒數(shù)據(jù)庫,這是目前最有效最簡單的檢測方法。但是這樣的方法缺點也是顯而易見,之前分析的匹配的病毒代碼,到病毒下一次感染或者爆發(fā)就會出現(xiàn)新的變種,導致傳統(tǒng)方法不能匹配。
校驗法通過檢驗算法可以用來檢測已知病毒,也可以用來檢測未知病毒,但是他不能識別病毒名稱類型,也不能檢測不依附于其他文件的病毒。
行為監(jiān)測法主要是對現(xiàn)有的病毒,通過收集資料研究看考拷證,總結病毒的共同現(xiàn)象行為。這種方法一般能較好的發(fā)現(xiàn)未知病毒,但是有可能誤報。
上面列出了傳統(tǒng)方法在病毒檢測的三種主要手段,可以看出,這里主要是對現(xiàn)有病毒進行分析,再提取對應的病毒特征,亦或對正常文件進行分析,反之則判斷為有病毒的文件。
2 本文方法闡述
由于個人計算機的普及面極為廣泛,計算機硬件的發(fā)展也是日新月異,安照摩爾定律硬件幾乎在半年就會更新一代,這樣就造就了個人計算機的千差萬別,操作系統(tǒng)等軟件更是迥然相異,這就使得計算機病毒在不同硬件和軟件環(huán)境有可能出現(xiàn)不同行為特征,這對病毒檢測無疑是一種災難。
3 本文方法實驗
3.1 數(shù)據(jù)采集
本文提出一種基于對計算機現(xiàn)有的軟件和硬件運行環(huán)境,從而判斷計算機是否容易感染或者已經感染病毒。所收集的數(shù)據(jù)特征包括計算機硬件BIOS信息,硬盤大小,內存大小,屏幕尺寸,操作系統(tǒng)版本,是否安裝了殺毒軟件,殺毒軟件版本,IP信息,PC購買日期,是否已經中病毒等特征。數(shù)據(jù)來源主要收集于本人所在工作單位的2000臺左右的PC,通過相關管理軟件以及PC上鎖安裝的殺毒軟件所收集的信息。
3.2 數(shù)據(jù)預處理
數(shù)據(jù)的預處理主要包括把IP轉換成地理位置,增加每個數(shù)據(jù)的缺失率,把string類型的數(shù)據(jù)轉換成float或者int類型,增加時間戳。
把IP轉換成地址位置信息,主要考慮到病毒一般在同一網段或者臨近的PC進行傳播,如果有一臺PC已經中病毒了,附近PC中病毒的可能性較高,所以把IP轉換成位置信息有助于最終的病毒檢測。轉換方法為把核心交換機定義成距離中心,通過IP接入的交換機到中心的拓撲位置的Euclidean距離作為轉換結果。
LEuclidean=
由于收集的數(shù)據(jù)中必然有缺失,考慮到缺失一些不重要的特征,對最終特征也沒有不好的影響,所以直接剔除也不是一種好的方法。共有ftotal個特征,如果其中一臺PC只收集到fcollected個特征,那么缺失率為:
fmissing=
在算法當中,string類型的數(shù)據(jù)是不能直接處理,一般都要轉換為數(shù)值類型的數(shù)據(jù),這里采用的轉化方法為pandas的factorize方法,就是把所有類型進行排序,再把string特征所在的排序號作為特征。
fstring,_=pd.factorize(fstring)
時間戳在病毒檢測中非常的重要,表現(xiàn)在2個方法,首先殺毒軟件不同版本殺毒效果是不同的,高版本也不一定好;其次,病毒的爆發(fā)一般存在與時間的相關性,比如某一時間熊貓燒香病毒大量爆發(fā),而近段時間勒索病毒的大量爆發(fā),都是與時間戳存在一定關聯(lián)的,所以把殺毒軟件的版本這一特征,轉化為時間序列特征是有必要的。
3.3 實驗結果與分析
本文采用目前機器學習較為流行的集成學習方法,包括陳天奇的XGboost,微軟的LightGBM,以及Yandex的CATboost。這三種boosting算法主要思路都是集成弱分類器為強分類器,其中在細節(jié)上各有差異,所以在最終訓練結果也會有些差別。實驗所采用的平臺為Windows 7 8G內存,I5 7500 4核,Anaconda Jupyer Notebook,python 3.5的版本。XGboost,LightGBM和CATboost均為python版本。
實驗預測結果對比如圖1。
從圖1可以看出這三種算法的實驗結果差別并不大,都是在70%左右。因此可以證明通過收集計算機的硬件和軟件運行環(huán)境,來檢測計算機是否容易中病毒,這種方法是行之有效的。即本文提出的病毒檢測方法在算法的適用性上是沒有區(qū)分的,也可以間接說明本文方法獨立于傳統(tǒng)病毒檢測方法,不是排斥的關系,而是可以相互補充,共同提升病毒檢測率。
4 展望
本文提出了一種基于PC運行環(huán)境的機器學習病毒檢測新方法,可以作為傳統(tǒng)病毒檢測方法一種強有力的補充。優(yōu)勢主要表現(xiàn)在:第一,手段多樣化,傳統(tǒng)方法主要是通過分析病毒特征,而本文通過PC軟硬件運行環(huán)境進檢測,繞過了分析病毒的繁瑣過程。第二,檢測結果具有通用性,不單只是對一種或者幾種病毒,而是對所有符合PC運行環(huán)境的病毒都能檢測的到。當然缺點也是顯而易見的,70%的檢測結果還是大有提升空間,而且也存在誤報率較高的現(xiàn)象,因此今后的主要工作可以從這兩個方面入手,進一步提高本方法的實用性。
參考文獻
[1] 張勇,張衛(wèi)民,歐慶于.基于主動學習的計算機病毒檢測方法研究[J].計算機與數(shù)字工程,2011,39(11):89-105.
[2] Chen T,Guestrin C.XGBoost: A Scalable Tree Boosting System[J].2016.
[3] Prokhorenkova L, Gusev G, Vorobev A, et al. CatBoost: unbiased boosting with categorical features[J].2017.
Machine Learning Virus Detection Based on PC Environment
XIAO Hang
(Guangzhou No.1 People's Hospital,Guangzhou Guangdong? 510180)
Abstract:With the popularity of IOT, cloud computing, big data and smart phones, massive data were produced by millions of devices, the difficulty of network security has increased by several orders of magnitude. Traditional security solutions are time-consuming and labor-intensive,and cannot meet the prediction of unknown viruses and security vulnerabilities.By analyzing the running environment of computer software and hardware,we propose a method to predict the ability of computer virus detection, which is a complement to the existing computer virus detection.
Key words:network;security;virus detection;software;hardware