999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

操作系統內核模糊測試技術綜述

2019-09-09 03:38:40朱俊虎
小型微型計算機系統 2019年9期
關鍵詞:系統

李 賀,張 超,楊 鑫,朱俊虎

1(數學工程與先進計算國家重點實驗室,鄭州 450002)2(清華大學 網絡科學與網絡空間研究院,北京 100083) E-mail:chaoz@tsinghua.edu.cn

1 引 言

操作系統作為當今社會信息基礎設施中最為基礎的軟件設施,從其誕生之初就與安全研究有著密不可分的聯系,是軟件安全最早的研究對象之一[1,3].內核作為操作系統最重要的組成部分,其安全性一直是計算機安全研究的熱點.隨著近年來技術的發展,針對Windows內核、Linux內核和XUN內核等主流PC和服務器操作系統的漏洞挖掘研究也越來越多,出現了大量研究成果.自2007年以來,iOS和Android等移動終端系統的市場份額的不斷擴大,針對移動終端操作系統內核的研究也成為安全研究一個重要關注對象.

內核漏洞有其獨特的優良性質.首先,一般的操作系統平臺都有著數量巨大的用戶群,這使得內核漏洞具有很強的通用性.其次,操作系統內核代碼極其龐大,擁有大量的遺留代碼和紛繁復雜的子模塊,增加了漏洞發生的可能性.再次,由于內核特權級高,內核漏洞可以實現獲取內核資源的訪問權限、獲取超級用戶權限、關閉安全防護功能等高危攻擊行為,并且能夠為rootkit等后門駐留打開突破口.最后,內核重視運行性能,默認情況下安全防護機制較少.尤其是在實際工作中還需要維持生產環境的穩定,甚至需要關閉很多內核防御機制,給攻擊方留下了很大的可利用空間.

模糊測試作為實踐效果良好的漏洞挖掘方法,在內核漏洞挖掘領域得到了廣泛的應用.以虛擬化、硬件調試器、云計算為代表的新技術都被應用到了內核模糊測試漏洞挖掘框架中,主流操作系統都有專門針對其內核的模糊測試漏洞挖掘工具.從發展歷史來看,內核漏洞模糊測試從一開始簡單的隨機生成測試例,發展到輸入規范化、虛擬化運行系統、覆蓋率反饋、多系統支持、云平臺集群化運行等諸多新特性.

本文主要對近年來內核模糊測試的發展進行回顧,總結內核模糊測試的技術特點,并對其面臨的問題進行梳理.對典型工具的技術思想進行綜述,并專門討論了驅動模糊測試技術.最后對本文進行總結,討論了內核模糊測試今后的發展方向.

2 內核模糊測試技術概述

2.1 模糊測試

模糊測試(Fuzz testing,Fuzzing)作為目前較為有效的軟件漏洞挖掘工具,在新世紀以來得到了學術界和工業界的廣泛應用.模糊測試的核心思想是自動化或半自動的生成輸入數據到目標程序中,監測目標程序運行是否發生異常.通過對造成程序運行失常的輸入執行過程進行分析,從而找出目標程序中的隱藏缺陷.從測試例生成來說,模糊測試可以劃分為基于生成(Generation-based)和基于變異(Mutation-based)兩種技術路線,也有將其稱為基于語法(Grammar-based)和基于反饋(Feedback-based)的模糊測試.基于生成的模糊測試偏向于利用目標程序輸入語法、目標靜態分析等知識生成大致符合目標軟件輸入格式的測試例,而基于變異的模糊測試則使用遺傳算法等方法迭代生成表現更好的測試例.從引導方式上來說,模糊測試可以劃分為基于隨機的模糊測試(blind fuzzing)和基于覆蓋率引導的模糊測試.在實踐中,模糊測試確實能夠挖掘出內存錯誤、數據競爭、邏輯錯誤等多種類型的漏洞.

圖1 模糊測試Fig.1 Fuzzing test

如圖1所示,有研究[11,26-28,31-33]將模糊測試與靜態分析、符號執行、污點分析、機器學習等技術結合,加強模糊測試平臺漏洞挖掘能力,黎軍[6]等人對模糊測試進行系統性的總結.模糊測試主要的缺點是覆蓋率較低,生成的測試例一般只能覆蓋小部分目標程序代碼,并且大量測試例基本上是無效的.實踐中,模糊測試在漏洞挖掘領域取得良好效果,已經成為業界主流的漏洞挖掘方法.

2.2 內核模糊測試面臨的挑戰

與普通軟件的安全研究相比,針對操作系統內核的安全研究一直面臨著代碼規模過于龐大、功能復雜、部分模塊相關文檔較少、調試運行不便等諸多問題,而針對內核的模糊測試也在此列.與針對普通軟件的模糊測試相比,實現系統內核的高效模糊測試需要克服以下幾個問題.

2.2.1 操作系統內核代碼規模帶來的問題

2018年9月整個Linux系統代碼行數已經超過了2500萬行(1)https://phoronix.com/misc/linux-20180915/index.html,Windows在2003年(NT 5.2)就已經達到了5000萬行[5].龐大的代碼規模使得模糊測試的目標模塊和系統調用接口數目非常多.并且Linux、Windows等系統都能在不同硬件架構上運行,這也進一步加劇了模糊測試面臨的規模問題.由于內核代碼的規模,研究者很難對內核的各個模塊具體運行有廣泛又細致的理解,也導致內核模糊測試過程中測試例初始種子挑選、崩潰樣本分析等人工參與的環節需要消耗大量人力來提取相關信息.

2.2.2 操作系統內核運行環境帶來的問題

模糊測試中必不可少的一個環節就是需要對被測目標軟件運行狀態進行監控,發現軟件的異常狀態.而操作系統內核位于計算機體系底層,特權級高,不僅需要處理硬件管理事務,還要對上層用戶程序的運行提供支撐,這就使得內核作為被監控程序運行存在一定的技術困難.早期的模糊測試采用直接在物理主機上運行,顯而易見的存在漏洞觸發狀態記錄、漏洞調試上的巨大困難,因此大部分的內核模糊測試都不同程度上利用虛擬化技術來監控運行內核.內核負責整個系統任務切換和資源分配等基礎功能,運行狀態非常復雜多變,提取漏洞觸發狀態語義比較困難,尤其是數據競爭和邏輯錯誤兩種漏洞更為明顯.另外,作為高權限運行實體,操作系統內核還會出現二次獲取[24,25](double fetch)和二次寫入(double write)等獨特的邏輯漏洞.

2.2.3 操作系統開發方式帶來的問題

由于Windows、MacOS等操作系統內核的大部分代碼都不對外開放,非廠商相關研究者針對這些閉源操作系統的內核漏洞挖掘就必須對閉源模塊進行逆向分析,并且無法實現基于源碼插樁的覆蓋率引導模糊測試.此外,Linux等開源操作系統為了實現更好的功能,更新速度很快,Linux v4在2018年(2)https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/refs/tags就從4.15發展到了4.20,發布了40多個最終測試版本,這也給內核模糊測試工作帶來了很大壓力.

2.3 內核模糊測試基本框架

內核模糊測試的威脅模型將用戶態或硬件輸入到操作系統內核的數據看作是威脅來源,即從低權限的用戶空間、外部硬件到高權限的內核空間中的輸入是不可信的.目前,用戶態輸入作為威脅來源的模糊測試已經有了比較多的研究,但將硬件輸入作為威脅來源的研究還較少,文獻[39]對這個方面進行了討論.

以圖2為例,內核模糊測試將生成的畸形數據輸入到被測內核,并期望發生內核運行異常.但由于操作系統內核的特殊性,內核模糊測試在測試例生成、輸入、內核運行監控等方面需要更高的技術實現水平.除了直接使用物理機以及將內核代碼庫做用戶態模糊測試,其他內核模糊測試工具都同程度上應用了虛擬化方式運行目標系統.一般來說,內核模糊測試主要的評價標準包括內核代碼覆蓋率、漏洞觸發識別能力以及內核監控運行額外開銷等等.

3 內核模糊測試技術分類和典型工具

除了傳統軟件測試中基于對目標軟件知識依賴程度而劃分的白盒、灰盒及黑盒測試,內核模糊測試還有很多的分類標準.系統內核的攻擊面基本上可以認為是傳入內核的各種數據接口,包括系統調用參數、硬件輸入、用戶態共享到內核態的內存對象等.從這些攻擊面來看,內核模糊測試可以分為面向系統調用和面向系統數據處理接口兩種.從引導方式來看,內核模糊測試工具也可以分為隨機模糊測試(blind fuzzing)和覆蓋率引導的模糊測試.除此以外,也可以用針對的目標操作系統、漏洞類型將內核模糊測試工具進行分類.文獻[7]對針對系統調用的模糊測試工具進行了總結,根據工作原理將內核模糊測試工具分為了基于隨機生成、基于類型知識、基于鉤子以及基于反饋驅動四種類型.另外,還有一類是基于內核漏洞狀態感知的模糊測試工具,這種模糊測試的測試例輸入可以是運行正常的程序,通過對內核狀態的監控,進而捕獲信息泄露、內存錯誤等類型的漏洞.值得注意的是,隨著移動互聯網和物聯網的發展,模糊測試也成為挖掘這些平臺漏洞的通用方法[18,37].

圖2 基于覆蓋率反饋的內核模糊測試Fig.2 Cover age-guided kernel fuzzing

3.1 面向內核數據處理接口模糊測試工具

操作系統內核需要處理很多從硬件以及用戶空間中傳入的各種輸入數據,從內核安全的角度來看,這些數據輸入的接口都可以看做是系統內核的攻擊面.部分模糊測試工具利用AFL(3)http://lcamtuf.coredump.cx/afl/等針對普通軟件模糊測試工具將用戶態生成的隨機數據輸入到系統文件鏡像掛載、音頻視頻處理等接口中,期望發現漏洞.比較典型工具有KernelFuzzing(4)https://github.com/oracle/kernel-fuzzing、kAFL[13]TriforceLinuxSyscallFuzzer(5)https://github.com/nccgroup/TriforceLinuxSyscallFuzzer、JANUS[42]等等.kAFL創造性的使用Intel PT(6)https://software.intel.com/en-us/node/721535(Processor Trace)和Intel VT-x兩個硬件特性,實現了在虛擬機中使用PT技術對內核進行動態跟蹤,大大的提高了針對內核模糊測試的效率.通過隨機填充、比特翻轉、字節翻轉、代數變換、興趣字段探測、段拼接等方法生成文件系統鏡像,通過不斷的掛載鏡像文件對文件系統進行漏洞挖掘.同時,kAFL也使用AFL的位圖(Bitmap)來記錄測試例輸入后內核程序控制流邊,實現了覆蓋率反饋機制.JANUS是一個專門針對文件系統進行模糊測試的工具.這個工作創造性地采用了Linux Kernel Library 將Linux文件子系統轉換到用戶態單獨測試,減少了操作系統中其他子系統的影響,極大的提高了漏洞復現能力.JANUS還使用對文件鏡像和文件操作兩個維度進行模糊測試,有效增加了代碼覆蓋率.

3.2 針對系統調用接口的模糊測試工具

模糊測試技術是為了測試Linux系統的健壯性而發明[2]的.針對系統調用接口的模糊測試工具可以追溯到1991年tsys程序,這個程序循環生成不正常的系統調用參數,通過syscall函數將這些參數交給系統調用執行,從而實現觸發系統崩潰.由于系統調用數目較多,大部分模糊測試工具都將目標聚焦到部分系統調用上.Perf_fuzzer[23]是一個專門針對Linux系統Perf_events工具接口進行模糊測試的工具,使用參數和系統調用等知識來生成測試例,主要用于解決Linux內核引入perf工具以后導致的內核頻繁崩潰問題.Trinity(7)https://github.com/kernelslacker/trinity將系統調用參數的數據類型、參數值接受范圍、接受的特定參數值等參數格式知識加入到測試例生成過程中,大大的提高了測試例質量.IMF[7]重點關注了系統調用之間的依賴關系對于漏洞挖掘的影響.IMF通過對MacOS上運行的程序進行動態跟蹤,記錄系統調用的執行順序和參數使用.將存在參數數據依賴和系統調用順序依賴的系統調用識別出來,生成系統調用依賴模型,并使用模型來生成用于模糊測試的系統調用序列.

Syzkaller(8)https://github.com/google/syzkaller是Google開發的內核漏洞模糊測試平臺,規模相當龐大,能夠對多種操作系統平臺進行模糊測試工作.Syzkaller使用一系列的系統調用模板生成符合一定規范的系統調用序列,將測試例生成部分和測試例執行部分都放到虛擬機中,生成可以合法訪問的緩存區等內存對象參數.此外,Syzkaller還對整個虛擬機管理做了很大的改進,使得Syzkaller可以在QEMU、Google云平臺、KVM等多種虛擬化及硬件調試平臺上運行,并且能夠大規模集群化的運行在大量主機上.值得注意的是,Syzkaller實現了一個自動化地對Linux內核最新版本進行模糊測試的一個Syzbot(9)https://syzkaller.appspot.com組件,并運行在Google公司的云平臺上,已經自動化地挖掘出3000多個各類系統內核缺陷.Syzkaller是一個優秀的內核漏洞挖掘平臺,其Linux內核上實現的源碼插樁覆蓋率記錄、運行集群管理、漏洞捕捉技術、系統調用函數模板、漏洞復現代碼自動生成等工作極大的方便了內核漏洞挖掘.目前有大量研究都是針對Syzkaller平臺在各個方面進行的改進,如靜態分析系統調用之間依賴關系提升模糊測試覆蓋率的Moonshine[26],以及結合靜態分析專門挖掘設備驅動漏洞的DIFUZE[30]等等.

3.3 基于感知的內核模糊測試工具

基于感知的內核模糊測試工具的主要思路是通過虛擬化等方法,提取內核活動中可能存在漏洞狀態的語義,捕獲內核漏洞.這種方法在檢測信息泄漏類型的漏洞方面有比較好的效果.Bochspwn[12]利用Bochs模擬器模擬執行Windows等目標系統,對系統內核數據進行預先的污染,并對內核空間傳遞到用戶空間的數據進行檢查,通過這種污點跟蹤的技術,Bochspwn不僅能對能夠對內核流出到文件系統的泄露進行探測,還能探測到二次獲取和二次寫入等邏輯漏洞.與之類似,Digtool[14]實現了一套虛擬機監控程序,利用硬件虛擬化和Intel PT等功能,極大的提升了監控系統調用接口和內核活動的能力,可以方便的收集整個內核的運行情況.

3.4 結合代碼靜態分析的內核模糊測試

在內核漏洞挖掘領域,代碼靜態分析作為軟件安全白盒測試中最為重要的方法,出現了很多研究成果.通過結合代碼靜態分析覆蓋率高、檢測結果可靠性(Soundness)強等優點,可以有效的補足模糊測試的缺點,提升模糊測試效果.Moonshine[26]與IMF思路較為相似,使用靜態分析工具對系統調用的內核代碼實現進行依賴性分析,發掘內核狀態讀寫方面依賴,然后基于這些依賴從trace中提取系統調用測試序列,輸入到Syzkaller中執行,提高了模糊測試的代碼覆蓋率.Razzer[40]主要針對內核中的數據競爭漏洞進行挖掘,利用LLVM(10)對Linux代碼進行靜態分析,找到代碼中可能發生數據競爭的指令對.通過定制化地修改Syzkaller和QEMU,實現了生成包含潛在發生數據競爭代碼的測試例,精確地執行數據競爭中特定指令對,并驗證其競態訪問后果,從而找到可以發生競爭的代碼.

3.5 針對驅動程序的模糊測試

內核驅動程序模糊測試主要針對的read、write、ioctl等系統調用進行模糊測試.而沒有專門對應系統調用函數的Windows系統,也可以采用相似的方法,將模糊器生成的數據傳入到設備控制、輸入和輸出接口中(11)https://llvm.org https://github.com/Cr4sh/ioctlfuzzer. https://github.com/debasishm89/iofuzz https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/how-to-perform-fuzz-tests-with-iospy-and-ioattack https://code.google.com/archive/p/ioctlbf/.

DIFUZE[30]使用代碼靜態分析方法,提取IOCTL系統調用接口的數據結構和控制命令信息,生成更為符合IOCTL系統調用接口規定的測試例,進而提高模糊測試的覆蓋率.在Syzkaller的基礎上,DIFUZE實現了一整套利用驅動程序知識提高模糊測試能力的框架.Charm[38]主要實現了一種能夠在X86體系的主機上對ARM移動設備系統驅動進行模糊測試的架構,通過虛擬化等方法將Android設備上的驅動程序在X86平臺上重新編譯運行,實現了利用X86平臺上內核模糊測試工具對Android設備驅動進行模糊測試.PeriScope[39]對硬件不可信輸入造成的影響進行了研究,將驅動程序接收外部設備數據的接口作為模糊測試的目標,將硬件輸入數據作為測試例,對采用MMIO和DMA通信的驅動程序進行分析,并基于AFL和定制的KCOV(12)http://simonkagstrom.github.io/kcov實現了整個的模糊測試循環.

4 內核模糊測試中的關鍵技術

在內核模糊測試框架的搭建中,針對目標操作系統內核,需要整體設計測試目標接口、測試例生成方法、測試例輸入執行方式、反饋機制等方面.內核模糊測試框架的搭建與普通應用程序模糊測試比較類似,有研究將用戶態模糊器作為輸入生成器,也有部分研究另起爐灶,直接使用基于系統調用接口知識的方式生成測試例.為了實現高效的漏洞挖掘,還需要重點考慮被測內核運行方式、內核漏洞觸發狀態感知、以及實現覆蓋率引導等幾個方面的問題.

4.1 虛擬化技術

一般來說,操作系統內核只能運行在計算機體系特權級較高的層級上.2015年以前的內核模糊測試研究[16,19,22]主要為利用鉤子(HOOK)技術對Windows、MacOS等操作系統部分函數進行修改,實現輸入測試例和監控系統崩潰功能.但為了實現對內核狀態的較為方便監控,就需要采用虛擬化技術將讓被測內核降級到用戶態運行.在內核模糊測試中一般使用軟件虛擬化和硬件虛擬化平臺運行被測內核,常見的平臺有QEMU和KVM等.文獻[17,20]研究了使用虛擬化技術運行被測目標系統,文獻[13,40]等研究采用定制虛擬化工具的方法實現黑盒系統的覆蓋率生成、執行漏洞觸發關鍵代碼等功能.Panda(13)https://github.com/panda-re/panda研究了利用虛擬化技術記錄漏洞生命周期,完整收集漏洞狀態語義,極大的方便了內核漏洞的調試.另外,基于感知的內核模糊測試工具基本上就是圍繞虛擬化技術展開研究的.從開始的系統加載到漏洞狀態檢測,此類工具都需要透過虛擬機或模擬器對內核的運行狀態進行監控.

4.2 內核漏洞狀態感知技術

內核漏洞的感知技術也是內核漏洞研究的一個重要方面,并且極大的決定著內核漏洞挖掘的效率.內核漏洞感知技術既需要精確地捕捉到內核漏洞觸發時的寄存器狀態、堆棧狀態等底層硬件信息,還要對漏洞發生時相關內存對象分配釋放信息、內核棧信息、線程信息等上層漏洞語義進行記錄.Linux系統上實現了一系列的內核安全違例檢查工具,這些工具都受到了PaX(14)https://www.kernel.org/doc/html/latest/dev-tools/kasan.html項目以及用戶態程序漏洞檢測技術的啟發,利用雷區(Red Zone)等技術對Linux內核中內存讀寫、線程創建與銷毀等可能導致漏洞的行為進行探測.其中以KASAN(15)https://www.kernel.org/doc/html/latest/dev-tools/ubsan.html(Kernel Address Sanitizer)和UBSAN19(UndefinedBehavior Sanitizer)最為成熟,已經可以直接應用到Linux內核中,可以通過對內存對象讀寫監控、內存對象周圍監控、內存延遲回收等內核活動實現內存錯誤探測,發現內核中存在的堆棧移除、UAF(Use-after-free)和越界讀寫漏洞,并打印輸出漏洞信息.KMSAN(16)https://github.com/google/kmsan(Kernel Memory Sanitizer)和KTSAN(17)https://github.com/google/ktsan(Kernel Thread Sanitizer)還都處于原型開發階段,主要用于未初始化內存使用和競態條件錯誤的探測.另外,針對信息泄漏漏洞,可以配合內核數據污染,采用污點分析的方法進行漏洞挖掘.

4.3 代碼覆蓋率計算技術

模糊測試中代碼覆蓋率指的是輸入的測試例能夠讓目標程序的控制流途經代碼的數量,一般計數的單位都是控制流上基本塊.目前內核模糊測試代碼覆蓋率計算主要方式包括源碼插樁、Intel PT控制流記錄、單步執行、性能監控單元(PMU)取樣、動態二進制翻譯等方式(18)https://moflow.org/Presentations/Evolutionary%20Kernel%20Fuzzing-BH2017-rjohnson-FINAL.pdf.KCOV是Syzkaller項目組在GCC編譯器中實現的一種針對Linux 內核的源碼插樁覆蓋率檢測工具,專門配合Syzkaller等模糊測試工具進行覆蓋率測量.通過開啟特定的Linux內核編譯選項,記錄執行系統調用產生的內核代碼覆蓋率.KCOV記錄的數據包括內核代碼基本塊的地址和這些地址的數量.通過將每一個地址與上一個地址進行哈希等運算生成控制流圖中的邊,然后以此計算整個測試例對內核代碼的覆蓋率.Intel Processor Trace(Intel PT)是Intel第五代(Broadwell) CPU上添加的一個新特性,實現了使用硬件對程序控制流進行記錄,提高了代碼跟蹤的效率.通過使用Intel PT對內核控制流進行記錄,通過解碼獲取控制流覆蓋率的基本塊,就可以高效地記錄測試例對應的內核代碼覆蓋率,不需要對源碼進行處理,并且相對于動態二進制翻譯極大的提高了效率.

5 總結與展望

操作系統作為信息基礎設施中地位不可動搖的可信計算基,使得針對操作系統內核漏洞的研究一直以來都是安全研究的熱點.對內核漏洞的深入研究也推動了內核安全防御機制的快速發展,而安全機制的發展反過來又促進研究者去發掘能夠繞過安全機制的方法和漏洞.內核模糊測試作為高效的內核漏洞挖掘工具,在近年來得到了較好的發展22,各種新技術新做法都被應用到內核模糊測試中,并且取得了良好的效果.kAFL在多個系統平臺上發現了8個文件系統漏洞,IMF在Mac OS上發現了32個內核漏洞,Razzer在Linux系統內核中發現了30個競態漏洞.值得一提的是,截止2019年4月,Syzkaller的自動化挖掘平臺syzbot在Linux系統內核中發現了1200多個軟件脆弱點,極大的提高了內核的安全性.

目前,實踐中內核模糊測試的主要局限性還是在于操作系統內核復雜性導致的一系列問題上.首先內核模糊測試還需要能力更強的漏洞檢測方法.由于內核運行狀態較為復雜,大量的子系統事務相互影響,目前比較成熟的KASAN在檢測內存錯誤也會存在無法準確還原漏洞語義的情況,而針對未初始化內存、數據競爭、未定義行為等漏洞的檢測更是存在較大困難,這也使得漏洞調試、復現等環節收到了巨大的限制.其次,目前的內核模糊測試工具除Syzkaller系列以外都沒有正面面對操作系統內核規模龐大、接口眾多的問題.Syzkaller雖然能夠一定程度自動化提取系統調用、系統庫函數等內核調用接口,但仍然需要人工編寫測試例生成的模版.最后,模糊測試固有的測試例質量不高的問題.目前IMF、Moonshine等工具雖然已經對這個問題進行了研究,但在解讀內核中紛繁復雜的狀態關系上仍然還有較大的改進空間.

由于技術實現難度等原因,內核模糊測試的發展相對于普通應用程序模糊測試還是有一定的滯后性,將普通應用程序模糊測試已有的方法應用在內核模糊測試上是一種比較經濟的改進方法.普通應用程序的模糊測試在AFL等工具的基礎上使用了多種方法改進了代碼覆蓋率的表示形式.如AFLFast[35]、Vuzzer[29]、CollAFL[9]等工具利用定向模糊測試、有向圖算法、靜態分析等方法改進了原來基于控制流圖邊的覆蓋率表示算法,提高了漏洞挖掘的有效性.在測試例生成和執行方面,Angora[11]、T-Fuzz[10]等工具使用的利用梯度下降算法和強制執行流翻轉算法提高了測試例的質量.另外,隨著神經網絡技術的發展,也有研究[31-33]在模糊測試中應用深度學習技術提高模糊測試能力.這些在普通應用程序模糊測試中行之有效的方法都可以嘗試應用到內核模糊測試中.從長期來看,內核模糊測試未來除了可以在傳統的虛擬化的基礎上進行更加細致的研究,采用類似于JANUS的方法也是一種非常好的選擇,將內核子系統或驅動抽離單獨對其進行模糊測試,提高漏洞復現能力和測試效率.

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 成人国产小视频| 日韩精品中文字幕一区三区| 亚洲色精品国产一区二区三区| 亚洲黄网在线| 国产精品林美惠子在线播放| 99在线视频免费观看| 青草娱乐极品免费视频| 老熟妇喷水一区二区三区| 国产女人在线视频| 欧美成一级| 中国一级特黄视频| 91小视频在线| 视频国产精品丝袜第一页 | 中文字幕免费播放| 国产乱子伦一区二区=| 色综合国产| 全部免费特黄特色大片视频| 久久综合亚洲鲁鲁九月天| 四虎永久在线| 福利在线不卡一区| 国产超碰在线观看| 国产精选自拍| 91精品国产丝袜| 成人福利在线视频| 日韩精品一区二区三区中文无码| 一本大道无码高清| 久久精品丝袜| 国产人人乐人人爱| 91久久青青草原精品国产| 久久黄色影院| 亚洲男人在线| 亚洲无码精彩视频在线观看| 国产成人一区免费观看| 亚洲成人网在线播放| 四虎成人精品| 伊人中文网| 国产精品福利社| 免费在线色| 91精品国产自产在线老师啪l| 国产女人在线观看| 国产91小视频在线观看| 午夜精品影院| 国产午夜福利亚洲第一| 97久久超碰极品视觉盛宴| 日韩精品成人在线| 亚洲性一区| 国产69精品久久久久孕妇大杂乱| 久久情精品国产品免费| 国产成人亚洲精品无码电影| 熟女视频91| 成人国产精品视频频| 欧美一级99在线观看国产| 自拍偷拍欧美| 国产午夜福利片在线观看| 无码精油按摩潮喷在线播放 | 久久综合亚洲色一区二区三区| 国产精品偷伦在线观看| 99这里只有精品6| 黄色a一级视频| 九色综合伊人久久富二代| 黄片在线永久| 亚洲国产中文综合专区在| 97久久精品人人| 免费无码AV片在线观看中文| 国产精品夜夜嗨视频免费视频| 久久久无码人妻精品无码| 97精品久久久大香线焦| 无码视频国产精品一区二区| 久久精品只有这里有| 天天综合网色中文字幕| 天天激情综合| 91在线播放国产| 特级欧美视频aaaaaa| 久久久久国产精品熟女影院| 蜜芽一区二区国产精品| AV天堂资源福利在线观看| 国产成人调教在线视频| 免费亚洲成人| 亚洲a级在线观看| 成人福利一区二区视频在线| 久久国产毛片| 搞黄网站免费观看|