亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        多類軟件本體的惡意軟件語義描述模型

        2021-11-22 09:51:40唐成華侯夢(mèng)迪高慶澤強(qiáng)保華2
        關(guān)鍵詞:語義概念信息

        唐成華,侯夢(mèng)迪,高慶澤,強(qiáng)保華2,

        1(桂林電子科技大學(xué) 廣西可信軟件重點(diǎn)實(shí)驗(yàn)室,廣西 桂林 541004)

        2(廣西云計(jì)算與大數(shù)據(jù)協(xié)同創(chuàng)新中心,廣西 桂林 541004)

        3(廣西密碼學(xué)與信息安全重點(diǎn)實(shí)驗(yàn)室,廣西 桂林 541004)

        1 引 言

        惡意軟件是網(wǎng)絡(luò)和信息安全的主要威脅,對(duì)網(wǎng)絡(luò)信息技術(shù)應(yīng)用帶來極大的困擾.隨著代碼混淆技術(shù)的發(fā)展和使用,惡意軟件的行為變得更加復(fù)雜,增加了惡意軟件被檢測(cè)的難度.軟件行為在代碼混淆前后具有一致性,對(duì)惡意軟件進(jìn)行語義描述,采用形式化方法表示軟件行為可以更直觀地展現(xiàn)出軟件代碼的目的,有利于提高惡意軟件的檢測(cè)準(zhǔn)確率.

        由于邏輯語言在表達(dá)能力、靈活性和語義完整性上具有先天優(yōu)勢(shì),將描述邏輯引入軟件體系、狀態(tài)特征等方面已是研究熱點(diǎn).基于傳統(tǒng)時(shí)序邏輯的語義描述方法多是具有狀態(tài)基結(jié)構(gòu)屬性,難以描述語義動(dòng)態(tài)效應(yīng)或指針程序的語義性質(zhì),而基于霍爾邏輯的擴(kuò)展系統(tǒng)雖然推理性好,但仍屬于一階邏輯的范疇,表達(dá)能力依舊欠缺.因此,需要進(jìn)行高階邏輯的擴(kuò)展,以達(dá)到語義過程描述的動(dòng)態(tài)效應(yīng)過程.Delbianco等[1]基于高階分離邏輯建立了一種對(duì)象線性化推理方法,能接受線性化點(diǎn)的動(dòng)態(tài)特征及其修改,實(shí)現(xiàn)分離邏輯中指針更新到線性化點(diǎn)時(shí)間位置修改的動(dòng)態(tài)模擬.Mario等[2]基于動(dòng)態(tài)邏輯引入某種時(shí)序的模態(tài)算子,屬于動(dòng)態(tài)規(guī)約和行為推理的范疇,但通常不具備描述靜態(tài)結(jié)構(gòu)屬性的能力.而采用約束時(shí)序邏輯通過不同形式的約束指標(biāo)可以實(shí)現(xiàn)系統(tǒng)屬性描述,但存在諸如區(qū)間約束邏輯[3]的上下文作用格之間的有效性問題,時(shí)間約束邏輯[4]普通存在不良計(jì)算而容易導(dǎo)致語義丟失.

        描述邏輯是語義網(wǎng)及本體構(gòu)建領(lǐng)域高層設(shè)計(jì)的通用語言和體系框架,并將本體看作一個(gè)邏輯理論[5].本體可用來定義相關(guān)領(lǐng)域知識(shí)的基本概念,并能用形式化方式為同領(lǐng)域內(nèi)的關(guān)系給出明確的定義,近年來在語義描述領(lǐng)域得到廣泛應(yīng)用.Chen等[6]從語義本體維度對(duì)物聯(lián)網(wǎng)架構(gòu)進(jìn)行語義描述,在本體的基礎(chǔ)上對(duì)物聯(lián)網(wǎng)系統(tǒng)資源的自動(dòng)分類和故障診斷,提高了架構(gòu)的安全性.Karinne等[7]通過語義表示來獲得語義活動(dòng)的本質(zhì),從人的運(yùn)動(dòng)和物體的性質(zhì)來獲得有意義的語義描述,并且所獲得的語義規(guī)則可以有效地提高基于本體的知識(shí)表示的動(dòng)態(tài)增長(zhǎng),在人機(jī)交互系統(tǒng)中實(shí)現(xiàn)語義的提取和轉(zhuǎn)換.唐爽等[8]基于本體模型的語義表達(dá)和推理能力,將領(lǐng)域知識(shí)注入智能決策系統(tǒng)中的數(shù)據(jù)映射,從而優(yōu)化數(shù)據(jù)獲取的流程,使普通用戶脫離數(shù)據(jù)庫的實(shí)際存儲(chǔ)和操縱細(xì)節(jié),這種結(jié)合用戶熟悉的業(yè)務(wù)知識(shí)及其在本體動(dòng)態(tài)實(shí)體中的映射,使得查詢過程具備更強(qiáng)的可用性和表達(dá)能力.劉暢等[9]針對(duì)實(shí)時(shí)系統(tǒng)設(shè)計(jì)中,領(lǐng)域內(nèi)抽象模型轉(zhuǎn)換到可執(zhí)行的實(shí)時(shí)軟件源代碼的過程中的語義約束性問題,在構(gòu)造基于知識(shí)實(shí)體的本體屬性模型基礎(chǔ)上,采用圖數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)了具有嚴(yán)格語義定義的實(shí)時(shí)語義知識(shí)圖譜.模塊化的本體在語義映射的描述、本體間知識(shí)的傳播等方面更具優(yōu)勢(shì),本體間元素的映射和推理是模塊化本體的核心問題,趙曉非等[10]基于建模異構(gòu)元素之間的映射并進(jìn)行推理,提出了將動(dòng)態(tài)描述邏輯作為局部本體語言知識(shí)庫轉(zhuǎn)換為單一描述邏輯知識(shí)庫的算法,提高了本體語義描述和轉(zhuǎn)換的能力.Pattipati等[11]建立了一個(gè)基于本體的程序靜態(tài)跟蹤分析框架,其貢獻(xiàn)在于計(jì)算軟件語義信息并將靜態(tài)跟蹤存儲(chǔ)為語義三元組.軟件語義分析過程本質(zhì)上是軟件創(chuàng)造過程的再現(xiàn),體現(xiàn)了對(duì)軟件開發(fā)人員與軟件行為一致性的理解,即使是源代碼中的標(biāo)識(shí)符,對(duì)其命名模式和詞性注釋序列的正確分析,也是準(zhǔn)確理解軟件語義過程的關(guān)鍵[12].為了尋求構(gòu)建相關(guān)本體的最佳方法,賦予網(wǎng)絡(luò)交互軟件以語義授權(quán),并使其內(nèi)部交換的數(shù)據(jù)具有機(jī)器可處理性,Bouchra等[13]提出一種面向社交網(wǎng)絡(luò)語義分析終端的本體構(gòu)建方法,通過軟件UML類圖中收集的數(shù)據(jù)來構(gòu)建其OWL本體,具有明確關(guān)系的語義能使節(jié)點(diǎn)更加集中和更有影響力.基于軟件語義的惡意軟件檢測(cè)方法已經(jīng)得到相應(yīng)的應(yīng)用,Bhandari等[14]提出一種基于語義感知的動(dòng)態(tài)惡意軟件檢測(cè)工具,通過封裝Android應(yīng)用程序的語義解決檢測(cè)過程中惡意軟件注入無關(guān)代碼影響檢測(cè)效果的問題,可以有效檢測(cè)使用代碼注入逃避技術(shù)的惡意軟件.Ding等[15]將本體技術(shù)應(yīng)用于惡意軟件領(lǐng)域,基于軟件行為語義構(gòu)建惡意軟件行為本體,使用數(shù)據(jù)挖掘方法Apriori算法提取同屬一個(gè)家族的惡意軟件行為特征,根據(jù)惡意軟件樣本的行為特征對(duì)惡意行為使用本體推理方法對(duì)惡意軟件進(jìn)行分類.

        總的來說,針對(duì)傳統(tǒng)描述邏輯在惡意軟件語義描述中存在的表達(dá)能力欠缺的問題,基于本體的語義描述方法在保證語義描述能力的同時(shí)又具有相應(yīng)的推理能力,本文借鑒于此提出一種基于本體的惡意軟件語義描述生成模型,從軟件的行為和結(jié)構(gòu)特征分析入手,基于動(dòng)態(tài)分析、軟件結(jié)構(gòu)知識(shí)和軟件行為等多角度刻畫軟件的語義知識(shí);用本體方法研究軟件的語義邏輯形式,根據(jù)面向?qū)ο蟮闹R(shí)表示方法確定多類軟件的語義原語、句法和核心類;弄清軟件本體語義的概念類關(guān)系,通過從惡意軟件行為本體和惡意軟件領(lǐng)域本體中提取相關(guān)知識(shí),建立完備可推理的軟件語義描述模型.

        2 基本概念

        通常,可以用Ontology={α,θ,ε,δ,Ω}來表示本體的結(jié)構(gòu).其中,α作為類,具有α=[C1∪C2∪…∪Cn]形式,C是具有相同特性的對(duì)象;θ表示關(guān)系的集合,關(guān)系主要是對(duì)本體系統(tǒng)結(jié)構(gòu)的描述,通過對(duì)類之間關(guān)系的描述表現(xiàn)本體的層次結(jié)構(gòu);ε為屬性集合,屬性是對(duì)數(shù)據(jù)屬性、對(duì)象屬性和約束條件的描述,是類之間關(guān)系描述的一個(gè)補(bǔ)充;δ是公理,是在概念之間建立的規(guī)則、原理或定律,是對(duì)客觀存在事實(shí)的陳述;Ω是實(shí)例,作為類的具體實(shí)現(xiàn)對(duì)象.

        領(lǐng)域本體,是描述特定領(lǐng)域知識(shí)的一種特殊本體,是針對(duì)某一個(gè)領(lǐng)域的概念和概念之間關(guān)系、領(lǐng)域特性等進(jìn)行形式化描述的產(chǎn)物,其優(yōu)勢(shì)在于不局限于某一個(gè)實(shí)體,而是強(qiáng)調(diào)對(duì)領(lǐng)域概念的關(guān)注.

        定義1.軟件語義描述本體用以下形式來表示:

        MSO=CDO∪MDO∪MBO.其中,MSO(software semantic description ontology)表示軟件語義描述本體;CDO(software class diagram ontology)為軟件類圖本體;MDO(malicious domain ontology)為惡意軟件領(lǐng)域本體;MBO(malicious behavior ontology)為惡意軟件行為本體.

        軟件語義描述本體是在面向?qū)ο笾R(shí)表示的基礎(chǔ)上結(jié)合軟件行為信息和操作對(duì)象信息對(duì)軟件語義進(jìn)行描述,是通過對(duì)軟件行為和目標(biāo)對(duì)象的形式化的知識(shí)描述,為軟件行為語義的表達(dá)提供表示方法.

        定義2.系統(tǒng)調(diào)用(systemcall)是程序與操作系統(tǒng)互動(dòng)的接口,程序獲得操作系統(tǒng)底層服務(wù)和對(duì)系統(tǒng)資源的操作均是通過系統(tǒng)調(diào)用實(shí)現(xiàn),其中對(duì)系統(tǒng)安全狀態(tài)造成改變的系統(tǒng)調(diào)用稱為關(guān)鍵系統(tǒng)調(diào)用(Criticalsystemcall).

        定義3.惡意軟件領(lǐng)域本體MDO是軟件領(lǐng)域知識(shí)的集合,由Cmalware_type、Csys_component和Pstatus組成.其中,Cmalware_type是對(duì)惡意軟件類型的描述,根據(jù)惡意軟件目的不同定義惡意軟件的類型,比如勒索軟件、間諜軟件、廣告軟件、混合型惡意軟件等;Csys_component是操作系統(tǒng)中基本組成部分的分類,主要是文件管理(針對(duì)dll文件、exe文件、目錄文件等)、進(jìn)程管理、網(wǎng)絡(luò)接口和系統(tǒng)調(diào)用等;Pstatus是對(duì)Csys_component中對(duì)象的屬性描述,包括位置信息和狀態(tài)信息,其中位置信息決定操作對(duì)象是否受到系統(tǒng)保護(hù)或者是否為關(guān)鍵系統(tǒng)文件,而狀態(tài)信息則是對(duì)操作對(duì)象狀態(tài)的約束表現(xiàn).

        定義4.惡意軟件行為本體可以表示為:

        MBO=Cmalware∪Csys_target∪Pbehavior.其中,Cmalware是根據(jù)行為特征對(duì)惡意軟件進(jìn)行的分類,包括病毒、木馬、后門、蠕蟲等幾類;Csys_target表示惡意軟件的操作對(duì)象,根據(jù)關(guān)鍵系統(tǒng)調(diào)用將操作對(duì)象分為文件、進(jìn)程、網(wǎng)絡(luò)、注冊(cè)表等幾類;Pbehevior是惡意軟件的關(guān)鍵系統(tǒng)調(diào)用的操作.

        本文采用基于關(guān)鍵系統(tǒng)調(diào)用的惡意軟件行為表示方法.軟件執(zhí)行過程中的系統(tǒng)調(diào)用可以由動(dòng)詞和名詞組成的簡(jiǎn)單自然語言短語來表示,其中動(dòng)詞是軟件行為的目的,名詞則是被操作對(duì)象.惡意軟件行為的形式化描述使用三元組表示,其中subject表示以惡意代碼分類信息為主的主語,object表示以系統(tǒng)組成信息為主的賓語,predicate表示謂語,用來描述主語和賓語的關(guān)系,在本體中以屬性的形式表示.

        定義5.惡意軟件和系統(tǒng)組成對(duì)象的關(guān)系,在本體中以對(duì)象屬性(Property)來表示.每一個(gè)屬性都有相應(yīng)的定義域(Domain)和值域(Range),定義域表示使用該屬性充當(dāng)主語個(gè)體的范圍,值域表示該屬性的作用范圍.根據(jù)操作對(duì)象的不同分為文件操作集、進(jìn)程操作集、網(wǎng)絡(luò)操作集等,操作集中的定義域只能是Cmalware中的概念信息,值域?yàn)镃sys_target中的文件部分.

        定義6.由軟件類圖轉(zhuǎn)換而來的軟件類圖本體CDO繼承類圖的功能特性,通過本體描述軟件結(jié)構(gòu)和各功能組件之間的關(guān)系,如果某一個(gè)組件特定于相關(guān)領(lǐng)域本體,可以通過本體關(guān)聯(lián)鏈接到相關(guān)領(lǐng)域本體.

        作為一種概念模型,類圖[13]是對(duì)面向?qū)ο笾R(shí)的可視化表示,利用類圖設(shè)計(jì)可以更好的描述和反映軟件的實(shí)際模型.在軟件開發(fā)和維護(hù)過程中類圖可以從靜態(tài)的角度展示軟件系統(tǒng)的整體設(shè)計(jì)和功能的實(shí)現(xiàn).因?yàn)轭悎D和OWLDL本體都可以使用一階謂詞邏輯表示,所以類圖在轉(zhuǎn)換為本體方面具有天然優(yōu)勢(shì).

        定義7.本體語義相似度,在本體知識(shí)提取的過程中需要從源本體中提取相關(guān)的概念和屬性合并到語義描述本體中,該過程需要比較索引和本體知識(shí)的相似度,使用基于SA_BP算法的本體概念語義相似度綜合計(jì)算方法[16]計(jì)算索引和相關(guān)概念及屬性的相似度:

        simattr(a,b)=α×sim(aname,bname)+β×sim(atype,btype)+γ×sim(avalue,bvalue)

        (1)

        式(1)中simattr(a,b)表示概念信息a和b的相似度,sim(aname,bname)表示概念a和b中屬性名稱的相似度,sim(atype,btype)表示概念a和b中概念數(shù)據(jù)類型的相似度,sim(avalue,bvalue)概念a和b中屬性值的相似度.α、β、γ表示相似度的權(quán)重,其中1=α+β+γ,根據(jù)訓(xùn)練數(shù)據(jù)集對(duì)相似度計(jì)算模型進(jìn)行訓(xùn)練,通過模型訓(xùn)練自動(dòng)設(shè)置權(quán)重值.

        定義8.基于SWRL規(guī)則和OWL語言的本體對(duì)準(zhǔn),將多類本體之間相同的概念和屬性進(jìn)行關(guān)聯(lián)和鏈接,以增加本體推理能力和描述能力.

        在OWL中可以使用諸如owl:equivalentClass和owl:equivalentProperty等來對(duì)多個(gè)本體中相關(guān)的概念和屬性進(jìn)行關(guān)聯(lián),但實(shí)際上在本體對(duì)準(zhǔn)中具有這種直接對(duì)應(yīng)關(guān)系的占比很少,因此采用SWRL中的內(nèi)置規(guī)則對(duì)本體之間的屬性進(jìn)行關(guān)聯(lián).例如MDO中的Csys_component和MBO中的Csys_target都是對(duì)軟件組成部分的描述,使用owl:equivalentClass建立相關(guān)概念之間的關(guān)聯(lián),然后使用SWRL規(guī)則將MBO和MDO中相關(guān)屬性格式化為適用于另一個(gè)本體的通用形式以完成本體對(duì)準(zhǔn).

        定義9.根據(jù)惡意軟件對(duì)系統(tǒng)資源操作的獨(dú)有特征,定義惡意軟件行為的關(guān)鍵系統(tǒng)調(diào)用序列,構(gòu)成惡意行為推理規(guī)則,部分推理規(guī)則如表1所示.規(guī)則中每個(gè)小括號(hào)代表一個(gè)函數(shù)的屬性或者一個(gè)完整的行為;每一個(gè)規(guī)則都由多個(gè)小括號(hào)組成,推理結(jié)果是對(duì)多個(gè)小括號(hào)中規(guī)則表示的合取,在規(guī)則中的推理結(jié)果以例如“(?x rdf:type Hight)”的形式來描述,其含義表示函數(shù)x危險(xiǎn)系數(shù)屬于high等級(jí).

        表1 惡意行為推理規(guī)則

        3 基于多類軟件本體的惡意軟件語義描述模型

        選擇基于軟件行為和本體進(jìn)行軟件語義描述,對(duì)軟件行為的形式化描述以便更直觀展現(xiàn)出軟件的行為屬性,使用動(dòng)態(tài)分析提取軟件行為語義,將軟件行為信息和結(jié)構(gòu)特征相結(jié)合,從多角度刻畫軟件語義的本體表示,完成對(duì)軟件語義的完備描述;應(yīng)用本體于軟件行為的描述,可以將軟件行為以機(jī)器可讀的方式表現(xiàn)出來,且可以進(jìn)行推理和驗(yàn)證.

        基于多類軟件本體的語義描述模型如圖1所示,根據(jù)軟件行為的形式化描述,以類圖本體為基本框架,惡意軟件行為本體和惡意軟件領(lǐng)域本體為補(bǔ)充(稱為多類軟件本體),基于以上多種類型軟件本體生成對(duì)軟件語義的描述.首先將軟件的類圖轉(zhuǎn)換為相應(yīng)的OWL本體,將面向?qū)ο蟮闹R(shí)表示方法與本體相結(jié)合,類圖轉(zhuǎn)換為本體以后可以完整的保留類之間的關(guān)系和屬性;然后使用動(dòng)態(tài)分析提取軟件的關(guān)鍵系統(tǒng)調(diào)用序列,使用調(diào)用序列中的關(guān)鍵部分生成軟件行為索引信息;最后根據(jù)軟件行為索引信息從領(lǐng)域本體和行為本體中提取相關(guān)概念和屬性合并生成軟件語義描述本體.

        圖1 基于多類軟件本體的語義描述模型

        3.1 基于本體的惡意軟件行為描述

        惡意軟件的行為特征,主要體現(xiàn)在其主要操作對(duì)象是操作系統(tǒng)中的文件、進(jìn)程、網(wǎng)絡(luò)和注冊(cè)表等,因此,針對(duì)惡意軟件不同的操作對(duì)象,定義以下4個(gè)行為集:

        1)文件操作行為集:FA(FileAction)={create_file;delete_file;read_file;write_file;rename_file;load_file;…}

        2)進(jìn)程操作行為集:PA(ProcessAction)={create_process;kill_process}

        3)網(wǎng)絡(luò)行為操作集:NA(NetworkAction)={listen_port;connect_port;bind_port;DNS_query;send_to;receive_from;…}

        4)注冊(cè)表行為集:RA(RegistryAction)={open_Key;close_Key;create_Key;delete_Key;set_Key;monitor _Key;…}

        各行為集是對(duì)相應(yīng)目標(biāo)執(zhí)行操作的行為集合.根據(jù)定義4,簡(jiǎn)單的惡意軟件行為使用一個(gè)三元組來表示,復(fù)雜的惡意軟件行為則使用三元組綜合,,…,>形式來表示,其中FuncName表示源代碼的函數(shù)名稱;Object表示軟件行為的目標(biāo)對(duì)象;Verb表示軟件要執(zhí)行的操作,是從Object相應(yīng)的軟件行為集中獲取.

        例如,exampleFunc類執(zhí)行創(chuàng)建進(jìn)程、連接端口、讀取文件和發(fā)送信息操作可描述為:

        ;;;>

        其中,create_process(PA,connect_port&send_to(NA,read_file(FA.

        使用OWL語言對(duì)軟件行為進(jìn)行描述,軟件行為在本體中作為類的ObjectProperty存儲(chǔ),例如create_file在本體中表示為:

        函數(shù)的行為集作為類的實(shí)例存儲(chǔ),exampleFunc的行為集作為類的實(shí)例使用OWL語言表示為:

        3.2 類圖轉(zhuǎn)換為本體知識(shí)庫

        現(xiàn)有的UML建模軟件都具有從源代碼生成相應(yīng)的UML類圖的功能,例如:MS Visio 2010、ArgoUML和Visual Paradigm等都可以將源代碼轉(zhuǎn)換成可視化類圖形式.類圖轉(zhuǎn)換為本體的過程如圖2所示,類圖的類、接口、屬性、關(guān)系等信息轉(zhuǎn)換為OWL中相似或者等價(jià)的概念,對(duì)于函數(shù)的多態(tài)現(xiàn)象只保留一個(gè)函數(shù),類圖中類之間的層次關(guān)系被完整的保留下來,例如owl:equivalentClass表示兩個(gè)類之間的繼承關(guān)系,類中成員變量轉(zhuǎn)換為本體類的DataProperty,類中的函數(shù)轉(zhuǎn)換為本體類的子類,在本體中用subClassOf表示.

        圖2 類圖轉(zhuǎn)換為本體

        3.3 基于多類本體的語義描述生成方法

        在3.2節(jié)中從UML類圖中轉(zhuǎn)換得到的信息主要展示面向?qū)ο箢愔g的關(guān)系和屬性,缺乏對(duì)類的功能和行為特性的描述,為了豐富軟件的行為語義信息,對(duì)軟件執(zhí)行動(dòng)態(tài)分析提取軟件的運(yùn)行過程中的系統(tǒng)調(diào)用序列,將系統(tǒng)調(diào)用信息作為索引從惡意軟件領(lǐng)域本體和惡意軟件行為本體中提取語義相似度最高的概念或?qū)傩裕蓪?duì)軟件行為的描述.

        因?yàn)閻阂廛浖a中的操作實(shí)質(zhì)上是一個(gè)系統(tǒng)調(diào)用序列,其中每一個(gè)函數(shù)調(diào)用以后對(duì)系統(tǒng)狀態(tài)產(chǎn)生改變的有效操作都是通過一些關(guān)鍵系統(tǒng)調(diào)用序列實(shí)現(xiàn)的.本文在軟件特征提取過程中,關(guān)注函數(shù)的關(guān)鍵系統(tǒng)調(diào)用序列,對(duì)提取到的系統(tǒng)調(diào)用序列進(jìn)行分割處理,截取從函數(shù)調(diào)用開始到結(jié)束調(diào)用過程中的關(guān)鍵系統(tǒng)調(diào)用序列作為知識(shí)提取算法的索引使用.

        算法1根據(jù)索引信息從惡意軟件行為本體和惡意軟件領(lǐng)域本體中提取相關(guān)知識(shí)完成從軟件結(jié)構(gòu)和軟件行為角度對(duì)軟件語義的描述.為了提高知識(shí)提取的準(zhǔn)確度,算法根據(jù)公式(1)計(jì)算索引和本體知識(shí)之間的綜合相似度匹配最優(yōu).

        首先是讀取json文件中的軟件行為預(yù)處理信息,json文件中將軟件行為信息按照定義4中行為三元組的形式存放,主語為func函數(shù)名;賓語表示func函數(shù)的操作對(duì)象,是對(duì)象索引信息;謂語表示函數(shù)的行為,是行為索引信息.

        其次根據(jù)索引信息先在類圖本體中查找是否存在和索引信息語義相似度大于0.7的信息,如果存在則標(biāo)記語義描述本體中的相似信息,直接進(jìn)行下一組索引信息查詢,否則將行為索引信息和行為本體中的信息比較,對(duì)象索引信息和領(lǐng)域本體中的信息相比較,根據(jù)比較的結(jié)果標(biāo)記相似度最高的信息.

        然后使用OWLAPI中的Merge函數(shù)將標(biāo)記的相關(guān)信息合并到語義描述本體中.最后根據(jù)索引信息在類圖本體中生成函數(shù)行為的本體描述,語義描述信息作為類的實(shí)例存儲(chǔ)在類圖本體中,類圖本體作為語義描述本體輸出.

        算法1.基于多類本體軟件語義描述生成算法

        輸入:MBO(惡意軟件行為本體)、MDO(惡意軟件領(lǐng)域本體)、存儲(chǔ)行為信息的json文件、CDO(軟件類圖本體)

        輸出:MSO軟件語義描述本體

        Begin {

        1.N=json.ClassNum /*json文件里函數(shù)的個(gè)數(shù)*/

        2.for i=0 to N do

        3. J=json[i].class.behavior Num /*函數(shù)的行為個(gè)數(shù)*/

        4. for j=0 to J do

        5. if(simAttr(funcbehavior,CDO)>0.7)

        /*若存在和索引相似的信息,則標(biāo)記CDO中的信息,否則從源本體中查找相關(guān)信息.simAttr表示求相似度運(yùn)算,funcbehavior表示函數(shù)的索引信息*/

        6. j++

        7. else{

        8. AttrVerb=MarkSimMax(MBO,funcVerb)

        /*標(biāo)記MBO中相似度最高的行為信息,funcVerb表示索引中的行為信息*/

        9. AttrNoun=MarkSimMax(MDO,funcNoun)

        /*標(biāo)記MDO中相似度最高的對(duì)象信息,funcNoun表示索引中的對(duì)象信息*/

        10.Merge(CDO,AttrVerb,AttrNoun)}

        /*提取標(biāo)記信息到CDO中,AttrVerb表示標(biāo)記的行為信息,AttrNoun表示標(biāo)記的對(duì)象信息*/

        11. endif

        12. end for

        13.end for

        14.for n=0 toNdo

        15. ConstructionInstance(json.class[n].behavior,CDO)

        /*根據(jù)索引信息創(chuàng)建函數(shù)行為的實(shí)例用于描述軟件行為*/

        16.end for

        17.OtologyChange(CDO,MSO) /*CDO作為MSO輸出*/

        }End

        算法1基于OWL API實(shí)現(xiàn),時(shí)間復(fù)雜度為O(N2),其核心是相似度比較和標(biāo)記部分,即MarkSimMax()函數(shù)的實(shí)現(xiàn),MarkSimMax()函數(shù)基于公式(1)查找并標(biāo)記與索引相似度最高的本體概念和屬性.該算法根據(jù)軟件行為的抽象描述從數(shù)據(jù)源本體中提取知識(shí)填充語言描述本體,在保證語義描述本體質(zhì)量的同時(shí),節(jié)省數(shù)據(jù)處理時(shí)間.

        3.4 基于多類本體關(guān)聯(lián)的混合推理

        為了提高推理的準(zhǔn)確性,本文使用基于多類本體的混合推理方法,使用SWRL規(guī)則將語義描述本體與惡意軟件領(lǐng)域本體和惡意軟件行為本體中相關(guān)的概念和屬性相互關(guān)聯(lián),提高語義描述本體語義的完備性和推理的可靠性,然后將關(guān)聯(lián)后的本體與推理機(jī)綁定,使用惡意軟件行為規(guī)則對(duì)軟件行為進(jìn)行推理,標(biāo)記行為的危險(xiǎn)系數(shù).

        算法2.基于多類本體關(guān)聯(lián)的混合推理算法

        輸入:MBO(惡意軟件行為本體)和MDO(惡意軟件領(lǐng)域本體),MSO(語義描述本體)

        輸出:推理后的本體模型

        Begin {

        1.Ont=Ontology.CreateOntologyModel() /*創(chuàng)建模型*/

        2.Ont.Load(ontomodel.read(“file loaction”)) /*加載本體*/

        3.Stirngrule

        4.ListRule_list=newarraylist()

        5.While(rule=readline(“rule_loction”)!=null)/*讀取推理規(guī)則*/

        6. Rule_list.add(s)

        7.Ontology.Propertyprop=ont.CreatProperty()

        8.Ontology.objectobj=ont.Createobject()

        9.Ont.add(prop,obj) /*本體關(guān)聯(lián)*/

        10.GenericRuleReason reason=(GenericRuleRea)GenericRuleReasonFactory.Instance().create(null); /*創(chuàng)建推理機(jī)*/

        11.reasoner.setRules(Rule.parseRules(Rule_list))

        /*加載推理規(guī)則到推理機(jī)*/

        12.reasoner.setMode(GenericRuleReasoner.HYBRID)

        /*設(shè)置推理模式*/

        13.rea=reason.bindScheam /*將推理機(jī)綁定到模型*/

        14.InfModelinfModel=modelFactory.createInfModel(reason,ont)

        /*創(chuàng)建推理關(guān)系數(shù)據(jù)模型*/

        }End

        算法2在多類本體相互關(guān)聯(lián)的基礎(chǔ)上基于jenaOntologyAPI實(shí)現(xiàn)對(duì)本體的混合推理,本體之間的相互關(guān)聯(lián)可以從更多的維度對(duì)本體中的概念進(jìn)行描述,提高本體知識(shí)描述的豐富度,與單一本體推理方法相比多類本體混合推理的結(jié)果具有更高準(zhǔn)確度.

        4 實(shí)驗(yàn)分析

        4.1 實(shí)驗(yàn)環(huán)境

        實(shí)驗(yàn)所用的機(jī)器配置為Inteli5-8500CPU系統(tǒng)為windows10操作系統(tǒng),實(shí)驗(yàn)工具為protégé5.4、Eclipse與jena,編程語言為java-1.8.0_251.

        4.2 實(shí)驗(yàn)數(shù)據(jù)及方法

        采用惡意軟件領(lǐng)域本體MDO[15]和惡意軟件行為本體MBO[17]作為源本體,為軟件行為描述提供相應(yīng)的概念和屬性知識(shí)數(shù)據(jù)集.其中MDO是惡意軟件領(lǐng)域相關(guān)的概念合集;MBO是軟件對(duì)系統(tǒng)資源訪問的相關(guān)知識(shí)和概念集合.選取5個(gè)開源軟件作為測(cè)試數(shù)據(jù),其中4個(gè)惡意軟件是Alina、Mirai、Denroid和Carberp,正常軟件為FTP下載器.

        為了驗(yàn)證本文基于多類本體軟件語義描述生成算法(算法1)的效果,采用人工方法(MethodA)和本體自動(dòng)生成算法(MethordB)[18]與本文算法進(jìn)行對(duì)比.使用基于多類本體關(guān)聯(lián)的混合推理算法(算法2)對(duì)軟件語義描述本體進(jìn)行推理,標(biāo)記惡意軟件行為,采用基于本體的惡意軟件分類算法(AlgorithmA)[15]作為對(duì)比.實(shí)驗(yàn)流程如圖3所示.

        圖3 實(shí)驗(yàn)整體流程

        Step 1.使用多類軟件語義描述方法處理預(yù)處理數(shù)據(jù)生成軟件行為描述本體;

        Step 2.根據(jù)惡意軟件行為的特征定義惡意軟件行為規(guī)則;

        Step 3.將軟件行為描述本體和推理規(guī)則導(dǎo)入jena推理機(jī),導(dǎo)出推理后的OWL文件;

        Step 4.Protégé OWLAPI提供的查詢接口統(tǒng)計(jì)結(jié)果,根據(jù)推理的結(jié)果計(jì)算軟件特征值.

        4.3 本體生成質(zhì)量對(duì)比分析

        為了驗(yàn)證生成本體的有效性和生成效率,對(duì)MethodA、MethodB和本文的方法對(duì)生成本體的效果進(jìn)行對(duì)比,其中MethodA是人工方法生成本體,MethodB是一種自動(dòng)從文檔中生成本體的方法.3種方法分別針對(duì)同一款惡意軟件從軟件的代碼和文檔中生成本體,從生成的概念覆蓋率、屬性覆蓋率和生成消耗時(shí)間等方面進(jìn)行對(duì)比,其結(jié)果如圖4、圖5和表2所示.

        表2 本體自動(dòng)生成的消耗時(shí)間(s)

        圖4 概念覆蓋率

        圖5 屬性覆蓋率

        其中,概念覆蓋率以α表示如公式(2)所示:

        (2)

        式中n表示生成的本體中概念和索引相同的個(gè)數(shù),N表示生成本體的概念數(shù).

        屬性覆蓋率以φ表示如公式(3)所示:

        (3)

        式中R是自動(dòng)構(gòu)建本體中的屬性個(gè)數(shù),包括對(duì)象屬性,P是索引中行為的個(gè)數(shù).

        由圖4可知,本文方法與MethodB相比,在概念覆蓋率方面整體較好,不過與人工方法相比仍有差距;根據(jù)圖5,本文的方法在屬性覆蓋率方面效果較好,與人工生成方法相比整體比較接近,MethodB的效果最差.

        在生成時(shí)間方面因?yàn)槿斯し椒ú痪哂袑?duì)比性,所以只對(duì)比兩個(gè)自動(dòng)生成方法在本體生成過程中所消耗的時(shí)間,根據(jù)表2可知本文的方法和MethodB在使用相同的索引自動(dòng)生成本體時(shí)所消耗的時(shí)間相比具有優(yōu)勢(shì).

        綜上比較,本文提出的軟件語義描述本體自動(dòng)生成方法在生成本體質(zhì)量上面與人工生成方法相比差距較小,但是在生成效率方面具有較明顯優(yōu)勢(shì).

        4.4 基于本體特征值的惡意軟件行為標(biāo)記分析

        惡意軟件行為描述本體可以應(yīng)用于惡意軟件檢測(cè).根據(jù)惡意行為的主要特點(diǎn)制定本體推理規(guī)則,將本體推理規(guī)則綁定到推理機(jī)使用基于多類本體關(guān)聯(lián)的混合推理算法(算法2)對(duì)惡意軟件行為描述本體進(jìn)行推理,標(biāo)注惡意軟件行為.針對(duì)行為危險(xiǎn)程度的從高到低定義high、middle、low3個(gè)等級(jí),各等級(jí)的權(quán)重不同,最后根據(jù)惡意軟件行為標(biāo)注的結(jié)果計(jì)算軟件特征值.

        設(shè)定3種惡意行為等級(jí)的權(quán)重,其中標(biāo)記low為0.1,標(biāo)記middle為0.3,標(biāo)記high為0.7.軟件特征值的計(jì)算公式如公式(4)所示:

        (4)

        其中,Q表示特征值,L、M、H分別代表惡意行為的3個(gè)等級(jí),N表示未被標(biāo)記的類,α為標(biāo)記的權(quán)重,θ為相應(yīng)函數(shù)的個(gè)數(shù),特征值計(jì)算出具有惡意行為的類在所有類中所占的權(quán)重.對(duì)4.3節(jié)中生成的語義描述本體執(zhí)行推理操作,對(duì)所測(cè)試的5個(gè)軟件的代碼行為的標(biāo)記情況如表3所示.表4表示算法AlgorithmA對(duì)語義描述本體執(zhí)行推理操作的分類情況.

        表3 惡意軟件行為標(biāo)記

        由表3和表4可知,因?yàn)樗惴?需要對(duì)本體進(jìn)行關(guān)聯(lián)后進(jìn)行推理,所以在同等數(shù)據(jù)量的情況下和AlgorithmA相比推理消耗時(shí)間相對(duì)較長(zhǎng),但是算法2可以根據(jù)特征值判斷軟件的是否為惡意軟件,而AlgorithmA只是通過惡意軟件行為特征對(duì)惡意軟件行為進(jìn)行分類,分類結(jié)果只能表示惡意軟件具有相應(yīng)家族特征.使用算法2對(duì)軟件進(jìn)行檢測(cè),正常軟件的特征值低于0.5,惡意軟件的特征值均大于0.8.因此,基于本體特征值的惡意軟件檢測(cè)方法可以較好地識(shí)別出惡意軟件和正常軟件.

        表4 惡意軟件行為分類

        5 結(jié) 論

        本文提出一種基于多類本體的軟件語義描述生成方法,通過軟件類圖和相關(guān)行為信息生成軟件基于本體簡(jiǎn)單語義描述,然后根據(jù)軟件行為信息使用知識(shí)提取合并算法從惡意軟件行為本體和惡意軟件領(lǐng)域本體中提取相關(guān)知識(shí)生成完整的軟件語義描述本體.驗(yàn)證了本文的知識(shí)提取與合并算法生成的語義描述本體的質(zhì)量和人工方法相比差距較小,而且生成效率較高;然后對(duì)軟件語義描述本體執(zhí)行推理操作標(biāo)記軟件的惡意行為,根據(jù)標(biāo)記的結(jié)果計(jì)算特征值以判斷軟件是否為惡意軟件,實(shí)驗(yàn)結(jié)果表明該方法在識(shí)別惡意軟件方面有較好的效果.下一步將探索本體與軟件控制流圖相結(jié)合的語義描述方法,用本體方法和時(shí)序關(guān)系描述軟件的執(zhí)行過程,為本體在惡意軟件檢測(cè)中的應(yīng)用提供新思路.

        猜你喜歡
        語義概念信息
        Birdie Cup Coffee豐盛里概念店
        語言與語義
        幾樣概念店
        學(xué)習(xí)集合概念『四步走』
        聚焦集合的概念及應(yīng)用
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        “上”與“下”語義的不對(duì)稱性及其認(rèn)知闡釋
        認(rèn)知范疇模糊與語義模糊
        展會(huì)信息
        語義分析與漢俄副名組合
        久久精品国产免费一区二区三区| 亚洲美腿丝袜综合一区| 国产精品自在拍在线拍| 玩弄人妻少妇500系列网址| 亚洲高清视频在线播放| 日本高清在线播放一区二区 | 精品一区二区三区中文字幕在线| 色青青女同性恋视频日本熟女| 日韩精品人妻一区二区三区蜜桃臀| 久久精品国产亚洲av麻豆床戏| 亚洲三级视频一区二区三区 | 国产天堂av在线一二三四| 国精产品一区一区三区有限公司杨| 久操视频新免费伊人| 中文字幕亚洲乱亚洲乱妇| 精品色老头老太国产精品| 色婷婷av一区二区三区久久| 久久精品国产精品国产精品污| 国产白丝网站精品污在线入口| 亚洲精品女优中文字幕| 在线观看一区二区中文字幕| 精品成在人线av无码免费看| 亚洲av鲁丝一区二区三区| 日本少妇被爽到高潮的免费 | 午夜一区二区三区观看| 女人被狂c躁到高潮视频| 亚洲久无码中文字幕热| 亚洲国产精品成人一区| 精品一区二区三区芒果| 无套内射无矿码免费看黄| 同性男男黄g片免费网站| 日韩肥熟妇无码一区二区三区| 日本老熟女一区二区三区| 亚洲精品国偷拍自产在线| 男女18禁啪啪无遮挡| 成人免费丝袜美腿视频| 青青河边草免费在线看的视频| 久久精品国产色蜜蜜麻豆| 国产激情久久99久久| 一区二区日本免费观看| 亚洲日韩精品无码av海量|