前言:想要寫出一篇引人入勝的文章?我們特意為您整理了計算機病毒密碼算法檢測系統(tǒng)淺析范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:本文基于密碼算法設計了計算機病毒檢測系統(tǒng),詳細分析了密碼算法,并進行了系統(tǒng)測試。結果發(fā)現,此系統(tǒng)不僅可自動迅速識別計算機病毒內的密碼算法,還可準確跟蹤檢測計算機病毒運行時的密碼算法調用與加密過程,同時可由病毒加殼、加密通信、加密文件等視角分析以全面刻畫病毒。
關鍵詞:計算機病毒;密碼算法;病毒檢測;靜態(tài)特征;動態(tài)行為
0引言
隨著計算機技術的快速發(fā)展,人們的日常生產生活發(fā)生了巨大轉變,也獲得了各種便捷,從而演變成了現代化社會最不可獲取的部分。但是計算機系統(tǒng)的安全性依舊有待提高,其不安全因素主要有計算機信息系統(tǒng)自身與人為操作,而計算機病毒是最常見且最不安全的因素,病毒的存在不僅會造成資源與財富浪費,還會導致社會性災難。并且在互聯(lián)網技術的大范圍普及下,郵件、腳本、網頁、木馬、蠕蟲等病毒愈發(fā)泛濫,計算機用戶隨時隨地可能會遭遇攻擊,所以采用多元化算法與技術檢測并預防計算機病毒已是必然趨勢[1]。據此本文基于密碼算法設計了計算機病毒檢測系統(tǒng),以期能夠為防控病毒做出一定貢獻。
1密碼算法分析
密碼算法可保護并認證數據,通常用于為計算機提供安全防護,但是密碼算法實際上一把雙刃劍,其在提供安全保護的同時,很多攻擊者也會利用密碼算法逃避安全部門的追蹤檢測,導致有關調查取證工作難以有序開展,從而嚴重威脅著網絡安全與社會和諧[2]。一般情況下,密碼算法主要基于加殼免殺、加密通信、加密勒索方式散播計算機病毒。其中加殼免殺方式會隱藏病毒特性,無法以靜態(tài)特征碼識別并查殺病毒;加密通信方式會通過HTTP協(xié)議偽裝為網頁,以此繞過防火墻入侵計算機;加密勒索方式的破壞性更巨大,此方式下散播的病毒會直接導致用戶的計算機文件訪問異常,給用戶帶來不可挽回的損失。比特幣勒索病毒便是以加密勒索方式攻擊了數百萬計算機,支付贖金用戶上萬,用戶根本無法獲取解密私鑰,無法破解,很多用戶只能通過支付贖金的方式獲取密鑰。現階段基于密碼算法的計算機病毒依舊在蔓延,對此如何有效迅速地檢測并分析病毒的工作已經迫在眉睫,但是當前計算機病毒密碼算法的自動化系統(tǒng)研究仍舊亟待深入[3]。
2計算機病毒結構模式分析
雖然當前的計算機病毒逐漸海量化,類型也逐步復雜化,但基于病毒程序代碼分析,對比可知大部分病毒程序均是由引導模塊、傳染模塊、破壞表現模塊共同組成的。計算機病毒結構模式[4]具體見圖1。
3計算機病毒密碼算法檢測系統(tǒng)設計
3.1系統(tǒng)架構
計算機病毒密碼算法檢測系統(tǒng)整體架構具體見圖2。用戶通過傳輸待分析病毒文件于系統(tǒng)中,經過三種算法檢測之后生成最終分析結果[5-6]。第一環(huán)節(jié),加殼算法檢測。基于加殼指紋特征庫和PE文件信息熵相結合的方式,可保障計算機病毒加殼算法識別精確度。其中已知殼需構建指紋特征庫,以指紋特征匹配可迅速精準地檢測出既知病毒使用的加殼算法;而未知殼由于加殼會造成文件數據信息熵增高,對此可通過PE文件信息熵方式對病毒進行檢測,以得知是否加殼。第二環(huán)節(jié),靜態(tài)特征密碼算法檢測。以病毒靜態(tài)特征的詳細分析實現密碼算法和靜態(tài)特征的映射建設,通過算法特征匹配檢測病毒所使用的加密算法。第三環(huán)節(jié),動態(tài)行為加密算法檢測。一般情況下病毒為了逃避追蹤檢測,會采取加殼或指令轉變技術隱匿算法的靜態(tài)特征碼,這時便可基于靜態(tài)檢測分析,進行算法動態(tài)分析與實時跟蹤,從而提升密碼算法檢測精確度。
3.2密碼算法
3.2.1加殼檢測算法分析與實驗。3.2.1.1算法分析。傳統(tǒng)靜態(tài)加殼技術影響下,加殼病毒執(zhí)行過程中會具備相同編碼,所以檢測與破解難度較小。為滿足計算機病毒防護需求,攻擊者提供了動態(tài)加殼技術理念,以隨機加密算法,加密病毒程序代碼與數據。為生成各種特征加密殼,通過隨機密鑰加密算法可實現多態(tài)引擎技術,基于保障同功能病毒樣本,以新方式生成不同病毒代碼序列,且序列中的特征碼完全不同,從而導致單一特征碼匹配檢測技術逐漸失去了效用。3.2.1.2檢測實驗。通常基于UPX加殼算法指紋特征匹配模式進行已知殼檢測,結果具體見圖3。由圖可以看出,UPX加殼算法能夠迅速且準確地識別病毒為64為可執(zhí)行程序,且可通過UPX實現加殼處理。檢測未知殼的時候利用以信息熵檢測技術研發(fā)檢測儀器,檢測結果具體見圖4。由圖可以看出,第一個樣本評估為加殼,第二個樣本評估為未加殼,準確率較高。3.2.2靜態(tài)特征密碼檢測算法分析與實驗。3.2.2.1算法分析。靜態(tài)特征密碼檢測算法即基于提取算法所需靜態(tài)特征碼,以標識密碼算法。所以特征碼提取合理性在很大程度上決定了密碼算法識別準確率。就原理不同主要劃分為Hash函數、分組密碼算法、公鑰密碼算法三種算法。Hash函數密碼算法主要利用初始鏈值進行加密數據處理分析,即算法使用的初始鏈值保持不變的狀態(tài)下,以這些數據為靜態(tài)特征;分組密碼算法則通過S盒和置換盒等常數發(fā)揮輔助作用,其中S盒負責混淆視聽,定義為靜態(tài)數值,就AES算法來講若病毒文件匹配到了S盒,則病毒可能使用了AES算法;公鑰密碼算法中的RSA算法在生成密鑰的時候需采用2個大素數,而大素數的生成以小素數表為載體,所以此特征可在RSA算法中得以應用。3.2.2.2檢測實驗。通過靜態(tài)特征密碼檢測算法原理進行特征提取,并將其輸入到IDA密碼算法檢測插件特征庫中。就AES算法來講,S盒作為16×16數組,在內存內可存儲為256長度字符串。AES字節(jié)替代是關于字節(jié)的非線性變換,可通過可逆變換復合生成。首先計算字節(jié)E于有限域內的乘法逆元,結果記錄為F=f0f1f2f3f4f5f6f7,規(guī)定字節(jié)00變化成自身;其次對結果F進行仿映射變換,字節(jié)E替代之后的結果記錄為字節(jié)G=G0G1G2G3G4G5G6G7?;谵D變生成S盒字節(jié)代替數組,以其中前32個字節(jié)作為算法識別特征。ruleRijnDael_AES_CHAR{meta:Author=“_pusher_”Description=“RijnDaelAES(check2)[char]”date=“2021-06”strings:$c0={637C777BF26B6FC53001672BFED7AB76CA82C97DFA5947F0ADD4A2AF9CA472C0}condition:$c0}基于以上所提取靜態(tài)字符串特征,進行AES密碼算法識別檢測,結果具體見圖5。由圖可以看出,靜態(tài)特征密碼檢測算法可以快速準確識別出待檢測程序內所包含的AES算法。3.2.3動態(tài)行為密碼檢測算法分析與實驗。3.2.3.1搭建環(huán)境。以Cuckoo沙箱為載體搭建病毒動態(tài)行為密碼檢測分析環(huán)境,動態(tài)分析環(huán)境配置具體見表1。3.2.3.2算法庫調用。許多病毒程序基于調用既有密碼算法庫得以實現。以動態(tài)行為密碼檢測算法調動過程識別技術,能夠對病毒程序運行過程中加載的密碼算法動態(tài)鏈接庫加以準確識別,還可就API函數跟蹤調取的加密函數與所傳輸相關參數進一步生成密碼算法調取序列,以還原勒索病毒中密碼算法的具體調用過程。病毒可通過CryptoAPI給予的有關函數對用戶數據進行加密,并保障解密密鑰不被用戶獲取。3.2.3.3加密通信流量。就已經感染病毒的計算機來講,所有主機操作系統(tǒng)類型均需以網絡實現和攻擊者之間的通信交流,還可為了逃避檢測選用加密通信方式。在計算機病毒動態(tài)化運行過程中會產生網絡流量數據,將其儲存為pcap格式文件,在此文件中可分析病毒所用加密通信協(xié)議。通過加密通信流量分析可以順利獲得病毒在外對接的控制端或中轉站的具體IP。對于比較簡單的加密通信方式來講,可以選用還原流量的方式,但是高強復雜的加密通信方式選用流量還原方式雖然難度非常大,但是依舊可在獲取IP通信地址的同時,以防火墻為輔助阻隔木馬或者僵尸網絡,最大程度上防控威脅,避免信息丟失。通過Cuckoo沙箱環(huán)境執(zhí)行病毒程序,可獲取加密流量數據報文,以數據報文分析可知,病毒程序與控制服務器的信息傳輸均會基于TLS加密處理。
4系統(tǒng)測試
以WannaCry勒索病毒為例進行計算機病毒密碼算法檢測系統(tǒng)測試。WannaCry是一種蠕蟲式勒索病毒軟件,在2017年爆發(fā)時,大量高校與企業(yè)內網遭遇感染,甚至部分政府機構業(yè)務被迫中斷。此病毒加密設計比較復雜,切實結合了RSA算法密位屬性、價格、座位號。如果可訂,可用航班及其可訂座位屬性信息將流向捆綁銷售規(guī)則配置模塊。步驟三:捆綁銷售規(guī)則配置模塊,是航空公司業(yè)務人員事先配置完成的捆綁產品規(guī)則,支持配置特定屬性的座位與特定機票品牌捆綁形成一個產品銷售單位,例如“長腿位”和“超值經濟艙”可以捆綁且限量20個,“長腿位”和“豪華商務艙”不可捆綁;若步驟二中查出可被捆綁的座位屬性,系統(tǒng)將出行用戶選定的航班下可用于捆綁的品牌和座位,組成該品牌機票+座位的捆綁產品,例如“長腿位”加“超值經濟艙”是一個銷售單位,在前端展示給出行用戶;捆綁產品經過捆綁銷售調價配置模塊的價格管道處理,生成專屬價格,例如配置了整體減價50元,那么捆綁產品的價格等于機票總價與長腿位總價之和為1550元(不含稅),減去50元后,為出行用戶展示該捆綁產品價格為“1500元”(不含稅);以及為出行用戶展示捆綁產品詳情及優(yōu)惠金額,前文提到的整體減價50元,將以“立省50元”類似的方式在前端展示給出行用戶;不同常旅客等級可能享受不同的優(yōu)惠金額,例如配置了金卡用戶折上再8折,該出行用戶身份為金卡用戶,在前端展示“1200元”(不含稅)、“金卡立省300元”的醒目提示。步驟四:在捆綁產品選購模塊中,每個捆綁產品旁都有一個預訂按鈕,出行用戶可一鍵選擇心儀的品牌機票加座位的捆綁產品,繼續(xù)后續(xù)預訂流程。點擊預訂后,系統(tǒng)將機票和座位產品都加入訂單信息中,記錄機票和座位屬性的詳細信息。之后進入出行用戶信息填寫頁,需要為每一個出行用戶填寫姓名、證件類型、證件號、聯(lián)系方式等信息,填寫完畢并確認后,系統(tǒng)根據捆綁產品中的座位屬性,在之后的選擇座位頁面中,以座位圖的樣式向出行用戶開放該座位屬性對應可選座位區(qū)域,出行用戶在區(qū)域范圍內選擇具體座位,點擊座位圖標即可確認座位,將座位號加入訂單信息中。待出行用戶完成確認航班信息和座位號后,系統(tǒng)即將正式生成訂單,繼續(xù)步驟五的支付和預訂操作。若出行用戶改變主意,不想購買該捆綁產品,可與前端的特定按鈕交互,返回原來的品牌機票流程,繼續(xù)選購機票產品。步驟五:系統(tǒng)生成訂單后,出行用戶進行支付操作,支付成功的狀態(tài)下,系統(tǒng)的捆綁產品預訂模塊收到支付成功狀態(tài)后,立刻向中國航信訂座系統(tǒng)和EMD系統(tǒng)發(fā)出預訂請求,后臺系統(tǒng)根據預訂請求,對出行用戶所選的機票、座位產品分別進行出票。待中國航信訂座系統(tǒng)、EMD系統(tǒng)完成出票并回傳預訂成功信息至該系統(tǒng)后,系統(tǒng)判斷捆綁產品整體預訂成功,在前端頁面向旅客展示預訂成功信息及訂單信息。至此,該系統(tǒng)所有涉及的模塊的工作實現介紹完畢,全流程結束。
參考文獻
[1]里格斯·道格尼斯.迷航:航空運輸經濟與營銷(第四版)[M].北京.航空工業(yè)出版社.2011(01).
[2]王文芳,羅亮生.基于差異化服務收益理念的航空公司品牌運價體系戰(zhàn)略研究.CNKI:SUN:GLXZ.0.2019-14-051[Z].
[3]趙禮強,陳鵬,張子辰,鄭曉宇.考慮旅客異質性的機票捆綁銷售研究[D].沈陽航空航天大學經濟與管理學院,110136.2020(50).
作者:張文川 單位:蘭州石化職業(yè)技術大學