国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向軟件在線升級過程的信任鏈機制

2022-10-01 02:41:18安美芳季宏志賀麗紅
計算機工程與設(shè)計 2022年9期
關(guān)鍵詞:同族調(diào)用代碼

安美芳,季宏志,朱 琳,賀麗紅

(1.北京交通大學(xué) 計算機與信息技術(shù)學(xué)院,北京 100044;2.中國鐵路信息科技集團有限公司 網(wǎng)絡(luò)安全部,北京 100844;3.中國網(wǎng)絡(luò)安全審查技術(shù)與認證中心 綜合與質(zhì)量部,北京 100020;4.北京朋創(chuàng)天地科技有限公司 技術(shù)研發(fā)部,北京 100089)

0 引 言

信任鏈機制是可信計算最核心的內(nèi)容之一。信任鏈是指系統(tǒng)將運行控制傳遞給下一級可執(zhí)行代碼之前,需要確認被調(diào)用代碼是可信的。通過信任鏈機制,系統(tǒng)的運行完整性得到保證,比如它能夠有效阻止系統(tǒng)被惡意代碼感染和破壞,或者對使用人員安裝和運行軟件的行為進行有效規(guī)范和控制等,保證系統(tǒng)運行狀態(tài)符合預(yù)期。

傳統(tǒng)信任鏈機制實現(xiàn)都是通過可信標記方式來驗證被調(diào)用代碼是否可信??尚艠擞浭窃诖a運行前通過多種方法對代碼是否可信進行檢測和分析。但是軟件在線升級對上述信任鏈機制實現(xiàn)是一個嚴重挑戰(zhàn)。因為軟件在線升級后,系統(tǒng)在調(diào)用新升級的代碼時,會存在代碼不能通過可信驗證的問題。但是在線升級能力對大多數(shù)軟件已經(jīng)是一種不可或缺的自我修復(fù)和自我提升機制,如果信任鏈機制不能很好地支持軟件在線升級能力,那么可信計算技術(shù)的應(yīng)用和推廣必將受到極大的限制。

本文對軟件在線升級過程中的信任鏈機制進行研究,提出一種軟件在線升級代碼的識別和實時可信判斷方法,該方法無需對可執(zhí)行代碼本身的結(jié)構(gòu)和行為進行分析,判斷速度快,實時性好,不影響代碼調(diào)用性能,保證良好的用戶操作體驗。本文研究結(jié)果對可信計算技術(shù)的應(yīng)用和推廣有極大的推動作用和十分重要的現(xiàn)實意義。

1 相關(guān)研究

信任鏈機制研究中的幾類關(guān)鍵問題包括:①可信代碼的標識和驗證;②可信代碼的運行完整性保證;③可執(zhí)行代碼的可信檢測、分析和確認。

可信代碼的標識一般常采用可信標簽或可信代碼清單等方式來表示,可信標簽可以是與可執(zhí)行代碼相關(guān)聯(lián)的數(shù)字簽名(由可信的權(quán)威機構(gòu)針對該代碼文件簽發(fā))。為了保證可信代碼清單的真實性和完整性,系統(tǒng)在引用可信代碼清單之前會驗證相關(guān)的數(shù)字簽名。

為防止可執(zhí)行代碼在驗證時可信,在運行過程中被破壞的情況發(fā)生(比如通過DMA方式向代碼內(nèi)存區(qū)域注入惡意代碼),Intel、AMD和ARM等CPU廠商分別從硬件上提供了可信隔離保護支持基礎(chǔ),保證系統(tǒng)從加電引導(dǎo)到應(yīng)用運行過程中具有一定適應(yīng)能力的代碼可信傳遞,同時通過新的指令集擴展和訪問控制機制,保證應(yīng)用程序能夠運行在一個相對安全隔離的地址空間環(huán)境中,防止應(yīng)用敏感數(shù)據(jù)被外部讀取或破壞。在前述硬件支持的基礎(chǔ)上,研究人員也針對可信運行環(huán)境(trusted execution environment,TEE)領(lǐng)域開展了大量研究,并提出不同方式和顆粒度的工程實現(xiàn)方法[1-4]。

可信代碼的傳遞和運行環(huán)境保護獲得保證后,剩下的信任鏈機制的關(guān)鍵問題就是如何判斷被調(diào)用的可執(zhí)行代碼是可信的。目前常見方法有以下幾種:信任模型方法、靜態(tài)代碼分析方法和動態(tài)代碼行為分析方法等。

信任模型方法一般適用于對第三方軟件的信任度量和信任度計算,信任模型可以采用基于軟件來源、口碑、推薦、服務(wù)可靠性、權(quán)威認證等多種信任因子或這些信任因子的加權(quán)組合來建立。信任模型的研究是針對開放網(wǎng)絡(luò)中參與方身份的信任驗證問題,提出了基于其它網(wǎng)絡(luò)節(jié)點推薦值的定量化信任度估計模型和方法。隨著網(wǎng)絡(luò)技術(shù)和應(yīng)用的發(fā)展,信任模型的應(yīng)用領(lǐng)域不斷擴展,比如社交網(wǎng)絡(luò)(social network)[5,6]、P2P網(wǎng)絡(luò)(peer-to-peer)、云計算(cloud computing)[7,8]、物聯(lián)網(wǎng)(Internet of Things)[9,10]、無線和自組織網(wǎng)絡(luò)[11]等。

靜態(tài)代碼分析方法對程序源代碼或目標代碼進行檢查和分析,判斷軟件是否有程序錯誤、安全漏洞或惡意目的的特征,從而確定軟件是否可信。隨著技術(shù)發(fā)展,靜態(tài)代碼分析方法也不斷發(fā)展。早期對惡意代碼的識別主要依靠對軟件中惡意代碼簽名(signature)特征的檢測和匹配,這種方法效率高,誤報率低,但是惡意代碼作者通過代碼變換(比如軟件加殼和代碼混淆)就可以逃避這種檢測。隨著人工智能相關(guān)理論技術(shù)的發(fā)展和成熟,人們也將自然語言處理、機器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)等技術(shù)方法應(yīng)用在惡意代碼簽名特征的學(xué)習(xí)和分類中,以應(yīng)對惡意代碼作者對惡意代碼簽名特征的隱藏[12,13]。

相比惡意代碼的簽名特征,人們發(fā)現(xiàn)代碼的行為特征能更好地反映出惡意代碼的目的和惡意操作方式,因此動態(tài)代碼行為分析方法采用行為特征作為惡意代碼檢測和分析中的判斷依據(jù),常見的惡意代碼行為特征包括惡意代碼的機器碼序列、API調(diào)用序列和系統(tǒng)調(diào)用序列[14,15];為了克服代碼混淆的干擾,研究人員讓這些代碼在沙箱和虛擬機等環(huán)境中實際運行,從而截獲其行為序列特征,或采用靜態(tài)代碼分析和動態(tài)分析相結(jié)合的方法得到代碼的行為序列特征[16]。

除了以上行為序列特征外,還有一些其它行為特征被采集并用于惡意代碼的檢測。比如通過對ROP/JOP攻擊中配件出現(xiàn)的頻率來檢測代碼重用攻擊[17],或通過“污點”數(shù)據(jù)標記和跟蹤,并提取非法操作時刻的系統(tǒng)快照作為特征來檢測經(jīng)過混淆的惡意代碼。近年來以機器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)為基礎(chǔ)的惡意代碼檢測和分析研究成為熱點,這些研究基于高維復(fù)雜的特征對代碼的可信度進行分類,可能更適合于惡意代碼不斷演變以隱匿自身逃避檢測的安全現(xiàn)狀[18,19]。

實施翻轉(zhuǎn)課堂教學(xué)模式,活躍了課堂氣氛,加強了學(xué)生的參與度,帶來了課堂的高效性;大幅度增加了課上課下的互動時間,帶來了師生和生生的深度互動性;激發(fā)了學(xué)生的學(xué)習(xí)興趣,帶來了學(xué)生學(xué)習(xí)的主動性;學(xué)生可自定學(xué)習(xí)步調(diào),實現(xiàn)了學(xué)生學(xué)習(xí)的個性化;有充裕的時間培養(yǎng)合作學(xué)習(xí)、探究學(xué)習(xí)等,提高了學(xué)生協(xié)作溝通、創(chuàng)新等能力的培養(yǎng);網(wǎng)絡(luò)教學(xué)平臺記錄了所有學(xué)生學(xué)習(xí)的全部信息,實現(xiàn)了課程考核的過程化。

以上對可執(zhí)行代碼的可信度量和評價方法都存在各種局限性?;趷阂獯a簽名特征的檢測方法難以應(yīng)對攻擊變種和代碼混淆等方式攻擊,其它方法要么需要獨立的檢測環(huán)境(比如沙箱或虛擬機等),要么在分析性能上不滿足實時性要求,因此很難應(yīng)用于軟件在線升級等實際系統(tǒng)運行場景中。在軟件在線升級這類場景中,新的升級代碼在被下載到本地到被調(diào)用之前,系統(tǒng)往往對其相關(guān)信息一無所知,無法提前在獨立環(huán)境中對它們進行檢測分析,也難以承擔在系統(tǒng)運行過程中開展代碼實時分析所導(dǎo)致的系統(tǒng)運行延誤(甚至中斷)等嚴重影響系統(tǒng)運行穩(wěn)定性和用戶體驗的后果。

(2)以人工的方式進行大致的攤鋪。攤鋪系數(shù)控制在1.2~1.3之間,不能拋擲材料。攤鋪時,若出現(xiàn)材料成團,則需要及時的進行松散處理。

2 軟件在線升級代碼的識別和可信評價

系統(tǒng)程序是指操作系統(tǒng)提供的程序,或被廣泛安裝和應(yīng)用的平臺程序,比如.net平臺。系統(tǒng)程序是一種公共服務(wù)型軟件,用戶可以用它們調(diào)用和創(chuàng)建(比如復(fù)制、下載等)任何其它程序,也可以被任何其它程序調(diào)用。比如Windows系統(tǒng)中的explorer.exe、svchost.exe、service.exe、cmd.exe等。

其中αi,βi,δi,σi和ki(i=1,2,3)都是待定常數(shù)。令Tan、Tanh和exα1+yβ1+tδ1+σ1等項的系數(shù)為零可得

在進入具體研究內(nèi)容之前,我們給出兩個可信假設(shè)。第一個假設(shè)是:可信軟件的升級代碼可以被認為是可信的。盡管這一假設(shè)可能存在安全漏洞,比如可信軟件提供商出于其不正當?shù)纳虡I(yè)利益,在其在線升級代碼中暗藏惡意代碼,在后臺收集用戶主機中的敏感信息,但是在實際系統(tǒng)中,我們的可信假設(shè)仍然有十分重要的現(xiàn)實意義和合理性。

第二個假設(shè)是:當前運行系統(tǒng)支持信任鏈傳遞機制,即只有那些被認為是可信的可執(zhí)行代碼才可以被系統(tǒng)調(diào)用運行,比如這些可信的代碼帶有可信機構(gòu)簽發(fā)的數(shù)字證書,或者在可信代碼清單中。

同時,我們對一些術(shù)語進行非嚴格定義的說明。軟件是指一組服務(wù)于特定功能目的的可執(zhí)行代碼及其運行環(huán)境參數(shù)文件,一般可能包括主程序代碼文件、動態(tài)鏈接庫文件、運行參數(shù)文件等等,比如一個軟件安裝包安裝之后,會在系統(tǒng)相應(yīng)位置存放與軟件功能相關(guān)的各種可執(zhí)行代碼和參數(shù)文件;程序是一類可獨立被系統(tǒng)調(diào)用和運行的可執(zhí)行代碼,比如cmd.exe,系統(tǒng)中還有一些不會被獨立調(diào)用和運行的可執(zhí)行代碼,比如動態(tài)鏈接庫文件等,但是為了描述方便,并考慮習(xí)慣,本文對程序和可執(zhí)行代碼并不總是嚴格區(qū)分。

本文還給出一個關(guān)于同族程序的定義,兩個程序是同族程序是指它們都來源于同一個軟件安裝包,并服務(wù)于同一服務(wù)目標。一般情況下,符合規(guī)范的軟件都有其固定的一個或幾個私有文件夾,包括它們在系統(tǒng)臨時文件夾下的子文件夾,這些軟件在安裝完成后,它們的可執(zhí)行代碼文件都位于這些私有文件夾中。通過判斷兩個程序?qū)?yīng)文件所在的位置,可以確定它們是否為同族程序。

另外,本文提到的可信標記是指在確認可執(zhí)行代碼可信后,將其放入到可信代碼清單中,或者為其加上被系統(tǒng)認可的數(shù)字簽名,或者加上其它系統(tǒng)能夠辨識的標記,系統(tǒng)通過它們可以快速確認相關(guān)的可執(zhí)行代碼是可信的。

還有一點需要說明,某些第三方管理工具類軟件(比如某類電腦管家)能夠通過檢測互聯(lián)網(wǎng)資源,在發(fā)現(xiàn)特定軟件版本發(fā)生變化后,自動下載和安裝新版本的軟件安裝包。這一升級方式不屬于我們前面定義的軟件在線升級,因為它本質(zhì)上是第三方下載和安裝軟件的過程,而不是軟件代碼自身檢測升級并下載安裝的過程。

本章首先對程序進行分類,然后對各類程序的特點進行分析和總結(jié),進而提出一種識別可信軟件在線升級代碼的方法(software upgrade code identifying method,SUCIM)。

2.1 程序分類

SUCIM將程序按照其特點,分為以下3個類型:系統(tǒng)程序、工具類程序和一般應(yīng)用程序。

在系統(tǒng)運行過程中,對被調(diào)用的未知代碼進行判斷,分析它們是否屬于可信軟件的在線升級代碼,進而確定其是否可信,對支持可信軟件的在線升級十分關(guān)鍵和重要,這也是本節(jié)的主要研究內(nèi)容。

(3)遞歸生成模型,該模型中每個詞的左子結(jié)點和右子結(jié)點分別由各自的馬爾柯夫模型順次產(chǎn)生:左子結(jié)點的產(chǎn)生方向是自右向左,右子結(jié)點的產(chǎn)生方向是自左向右的。每一個子結(jié)點的生成建立在支配詞和它前一個子結(jié)點上,是自頂向下的遞歸生成式模型。

工具類程序是指非操作系統(tǒng)自帶的,甚至是第三方機構(gòu)提供的服務(wù)型軟件,比如第三方FTP文件下載工具等。工具類程序具有一定的公共性,即操作人員可以通過它們調(diào)用和創(chuàng)建任何其它程序;但是與系統(tǒng)程序不同,它們不一定在每個用戶主機系統(tǒng)中都有安裝,即使安裝也不一定像系統(tǒng)程序那樣有眾所周知的安裝位置,因此它們往往是依靠操作人員手動調(diào)用,很少被程序自動調(diào)用。工具類程序的特點表明它們大概率會被用來創(chuàng)建和調(diào)用非同族程序。

一般應(yīng)用程序是指非操作系統(tǒng)自帶的,服務(wù)于特定功能并具有一定封閉性特征,它們能夠被其它程序調(diào)用,但是不會調(diào)用除系統(tǒng)程序和同族程序之外的其它程序,也不會創(chuàng)建非同族程序。

2.2 程序類別標注

根據(jù)各類程序的特征,可以通過系統(tǒng)程序判斷函數(shù)、數(shù)字簽名識別或人工標注等方法對程序進行類別標注。系統(tǒng)程序判斷函數(shù)能夠識別指定程序文件是否屬于操作系統(tǒng)程序;數(shù)字簽名識別是通過對可執(zhí)行代碼文件的數(shù)字簽名進行驗證,確認它們是由操作系統(tǒng)廠商或平臺軟件廠商發(fā)布;人工標注指由管理人員基于可執(zhí)行代碼文件的特征,確定它們是否屬于系統(tǒng)程序,并對其進行標注。

工具類程序的判斷和標注要相對復(fù)雜,一般可以通過程序調(diào)用關(guān)系和代碼創(chuàng)建關(guān)系來判斷。比如,假定A為代碼創(chuàng)建程序(或主調(diào)用程序),B為被創(chuàng)建代碼(或被調(diào)用程序),如果A和B不同族,且A不是系統(tǒng)程序,那么A可以被判定為工具類程序。

未被標注為系統(tǒng)程序和工具類程序的其它程序都“暫時”被認為是一般應(yīng)用程序。這里的“暫時”表示有些工具類程序還沒有為人所知,被認為是一般應(yīng)用程序。一旦它們調(diào)用或創(chuàng)建了非同族程序,就應(yīng)該被標注為工具類程序。一旦程序被標注為系統(tǒng)程序或工具類程序后,除非管理人員手動修改,否則不可能被重新標注為一般應(yīng)用程序。

式中:x和y分別為代碼創(chuàng)建程序和被創(chuàng)建代碼;p(x,y)是x和y的路徑名相似度判斷函數(shù), 0≤p(x,y)≤1, 值越大,表示x和y的路徑名越相似,p(x,y) 有多種實現(xiàn)方法,比如采用NLP、余弦相似度、正則表達式等,具體選擇還要取決于這些方法對系統(tǒng)性能的影響;q(x,y) 是基于文件命名可讀性、存放位置和代碼創(chuàng)建頻率等因子的代碼規(guī)范性函數(shù),0≤q(x,y)≤1, 值越大,表示x和y所屬軟件的規(guī)范化程度越高,意味著x和y是同族程序的可能性越大。

2.3 軟件在線升級代碼的識別和處理

SUCIM中,當代碼創(chuàng)建程序為一般應(yīng)用程序時,如果被創(chuàng)建代碼與代碼創(chuàng)建程序是同族程序,那么可以認為該被創(chuàng)建代碼是代碼創(chuàng)建程序所屬軟件的在線升級代碼,因此應(yīng)該被添加到可信代碼清單中。

根據(jù)同族程序的定義,可以通過比較兩個程序的路徑名是否相似來判斷它們是否同族。

2.2節(jié)和2.3節(jié)過程流程如圖1所示。

圖1 SUCIM對程序創(chuàng)建和程序調(diào)用的處理流程

2.4 風(fēng)險分析

本節(jié)從惡意攻擊、用戶不規(guī)范操作和應(yīng)用正常升級被誤攔截等3個角度對SUCIM展開風(fēng)險分析。

2.4.1 惡意攻擊

惡意攻擊是指攻擊者利用SUCIM機制本身將惡意代碼偽裝成可信軟件的升級代碼,從而使它們被加入到可信代碼清單中。

SUCIM通過同族程序關(guān)系確定被創(chuàng)建代碼是否為軟件在線升級代碼,因此針對SUCIM的惡意攻擊會利用以下方法來實現(xiàn)攻擊:①通過系統(tǒng)程序或工具類程序?qū)⒉豢尚懦绦?比如惡意代碼)復(fù)制(或下載)并保存到系統(tǒng)任意位置,并試圖調(diào)用和激活它們;②通過一般應(yīng)用程序?qū)⒉豢尚懦绦?比如惡意代碼)復(fù)制(或下載)并保存到同族的文件夾中,并試圖調(diào)用和激活它們。

雖然一部分特色農(nóng)產(chǎn)品企業(yè)已經(jīng)認識到了英語標準化翻譯的重要性,但在實際中卻存在很多問題。如拼音的過度使用、片面的中式英語翻譯、錯誤翻譯等,使農(nóng)產(chǎn)品英語標準化翻譯成為空談,極大地影響

從中國經(jīng)濟宏觀環(huán)境來看,中美貿(mào)易摩擦對峙,短期內(nèi)可能會對中國經(jīng)濟發(fā)展帶來負面影響,如加劇通貨緊縮的壓力,增加人民幣貶值的可能性,影響勞動力就業(yè)率等。

第一種攻擊方法會被SUCIM阻止。復(fù)制(或下載)程序的過程本質(zhì)上是一個代碼創(chuàng)建過程,由于代碼創(chuàng)建程序是系統(tǒng)程序或工具類程序,因此無論不可信程序被復(fù)制或下載到系統(tǒng)任何位置,SUCIM都不會將它們添加到可信代碼清單中。

第二種攻擊方法只有在以下情形下可能成功:①復(fù)制或下載不可信程序的一般應(yīng)用程序?qū)嶋H上是一個還未被標注的工具類程序,因為它與被創(chuàng)建代碼是同族關(guān)系,所以被創(chuàng)建代碼(不可信程序)會被添加到可信代碼清單中,成為可信代碼,因此可以被成功調(diào)用。SUCIM應(yīng)該提高對工具類程序的自動發(fā)現(xiàn)和標注能力,只有這樣才可能有效阻止這種攻擊方式;②復(fù)制或下載不可信程序的一般應(yīng)用程序有安全漏洞,攻擊者熟知并利用這些漏洞,將不可信程序復(fù)制或下載到同族文件夾下,從而被加到可信代碼清單中并成為可信代碼,要防范這種攻擊,需要發(fā)現(xiàn)或了解應(yīng)用程序的安全漏洞。

2.4.2 用戶不規(guī)范操作

同樣,用戶不規(guī)范操作帶來的無意識攻擊與惡意攻擊在實際操作中并沒有本質(zhì)區(qū)別,主要差異體現(xiàn)在攻擊者和一般用戶在攻擊位置、攻擊執(zhí)著程度等方面的不同。比如,攻擊者對軟件漏洞的了解程度高于一般用戶,對攻擊的成功要求也高于一般用戶;而一般用戶的違規(guī)操作則往往是一種淺嘗輒止的試探行為,攻擊成功的范圍和概率也因此較小而且隨機。

陳升茶廠成立于2006年,經(jīng)過12年的發(fā)展,已經(jīng)成為一家擁有300余名員工,數(shù)百戶簽約農(nóng)戶,集普洱茶精制加工、生產(chǎn)、銷售及茶文化和民族風(fēng)情為一體的省級產(chǎn)業(yè)化重點龍頭企業(yè)。而陳升茶廠所在的勐??h被稱作“中國普洱茶第一縣”,吸引著大批企業(yè)家投資設(shè)廠,其中包括一些不規(guī)范的代加工企業(yè),他們在規(guī)范化生產(chǎn)、人力、設(shè)備等各方面投入成本低,有些甚至存在虛開發(fā)票等違法行為,嚴重影響和擾亂了市場秩序,對大型民營企業(yè)發(fā)展也造成了很大壓力。

2.4.3 應(yīng)用正常升級被誤攔截

實際系統(tǒng)中,有些軟件可能包括不止一個祖宗目錄,比如有些軟件還在系統(tǒng)臨時文件夾下創(chuàng)建自己的子文件夾等。對于這種情況,可以根據(jù)多個祖宗目錄的相似程度來確定它們是否為同族程序。

3 同族程序判斷方法

基于以上風(fēng)險分析可以看出,對同族程序的判斷準確程度決定了SUCIM的實際有效性。如果將本是同族程序關(guān)系的一般應(yīng)用程序誤判為工具類程序,那么正常的軟件升級過程就會被SUCIM攔截;如果將工具類程序等漏判為一般應(yīng)用程序,那么就可能導(dǎo)致不可信的程序被標記為可信代碼。本文研究的目標是確保在不可信程序不會被SUCIM標記為可信代碼的前提下,盡量減少可信軟件正常升級被SUCIM攔截的概率。

3.1 基于程序路徑名相似度的同族程序判斷方法

政府方,優(yōu)選財政實力較強的市或區(qū)級政府,須查看經(jīng)財政部門審核下發(fā)的部門預(yù)算文件。商業(yè)銀行還需開展再評估工作,結(jié)合區(qū)域內(nèi)全部 PPP 項目規(guī)劃方案,統(tǒng)計未來年度財政支出責(zé)任,確保每一年度本級全部 PPP 項目從一般公共預(yù)算列支的財政支出責(zé)任,不超過當年本級一般公共預(yù)算支出的10%。

判斷兩個程序的路徑名是否相似,首先要排除操作系統(tǒng)的文件路徑。系統(tǒng)文件路徑的獲取方法比較簡單:在一個原生(未安裝應(yīng)用軟件)的操作系統(tǒng)中,對系統(tǒng)的文件目錄進行遞歸掃描即可獲得。通過這種方法獲得的系統(tǒng)文件路徑具有一定的通用性,可以應(yīng)用在同樣操作系統(tǒng)版本的主機環(huán)境中。比如,在一個原生的Windows10系統(tǒng)中, C:Windows 及其下一級目錄、 C:ProgramFiles(x86) 及其下一級目錄、 C:ProgramFiles及其下一級目錄等都被視為系統(tǒng)文件路徑。

將開始區(qū)分于系統(tǒng)文件路徑的第一級文件目錄(包括根目錄)定義為同族程序的祖宗目錄,即同一祖宗目錄下的程序都屬于同族程序。比如, C:ProgramFiles(x86)adobe 是Adobe Reader軟件的祖宗目錄,該目錄及其各級子目錄下的程序被認為是同族程序。

觀察組:采取生化檢驗法,在檢查前一晚,病患遵醫(yī)囑禁食禁飲,第2天早晨保持空腹狀態(tài)進行采集靜脈血,劑量5 mL。采用醫(yī)療專業(yè)設(shè)備全自動生化分析儀,對病患的TC(血清總膽固醇),TG(甘油三酯),2 hPBG(餐后2 h血糖)和葡萄糖耐量情況進行觀察。

SUCIM可能會導(dǎo)致某些應(yīng)用在正常升級后被誤攔截。比如有些應(yīng)用軟件的開發(fā)過程不夠規(guī)范,其升級下載的代碼可能因為與代碼創(chuàng)建程序不是同族關(guān)系,沒有被SUCIM加入到可信代碼清單中,并因此被系統(tǒng)拒絕運行。

我國數(shù)據(jù)信息比較豐富,政府掌握著80%以上的數(shù)據(jù),但是政府有關(guān)部門沒有正確認識到數(shù)據(jù)資源的巨大價值,缺乏對數(shù)據(jù)資源挖掘利用的意識,不能有效發(fā)揮數(shù)據(jù)資源的應(yīng)有作用。主要是長期以來我國政府管理模式是以經(jīng)驗為主的行政體制,政府機構(gòu)以科層制的管理模式運行,政府大數(shù)據(jù)治理理念缺乏,數(shù)據(jù)管理意識落后,不愿意共享開放,仍然沿襲著傳統(tǒng)的管理思路,認識不到數(shù)據(jù)對政府治理能力建設(shè)的重要性,傳統(tǒng)的思維意識與管理理念影響了大數(shù)據(jù)深入應(yīng)用,阻礙政府治理創(chuàng)新發(fā)展。

3.2 改進的同族程序判斷方法

由于上述實現(xiàn)只是對SUCIM的原理可行性進行一個初步驗證,因此對a和b沒有特別訓(xùn)練,而只是簡單的都設(shè)置為1,f(x,y) 的臨界值也設(shè)置為1,當f(x,y)≥1時,x和y被認為是同族程序,否則x和y不同族。

根據(jù)大量軟件樣本分析,一個有良好開發(fā)規(guī)范的軟件會在程序命名和存放位置上有好的慣例。比如,軟件升級過程經(jīng)常利用系統(tǒng)臨時目錄存放(或暫存)所下載的程序代碼,但是,基于良好開發(fā)規(guī)范的軟件與不規(guī)范軟件(或惡意代碼)有明顯區(qū)別,后者在文件命名、文件數(shù)量和文件保存位置等方面更加隨意,更傾向于故意隱藏自身,比如,文件命名沒有規(guī)律導(dǎo)致缺乏可讀性或可理解性,或者存放在其它軟件的文件保存目錄中,以讓分析人員無法正確判斷其功能目的或身份來源。

改進的同族程序判斷方法在基于程序路徑名相似度的同族程序判斷方法基礎(chǔ)上,更多地將軟件開發(fā)習(xí)慣和規(guī)律等因素納入算法判斷中,比如前面提到的文件命名、系統(tǒng)臨時目錄使用方式、文件創(chuàng)建頻率和存放位置等因素,比如代碼創(chuàng)建程序在同一個目錄位置中創(chuàng)建代碼文件的頻次如果大于一個閾值,遠超人工創(chuàng)建文件的正常速度,那么這個代碼創(chuàng)建程序為工具類程序的可能性就相對較低。

本文提出一個改進的同族程序判斷算法,用于驗證SUCIM的技術(shù)可行性,算法框架如下

f(x,y)=a*p(x,y)+b*q(x,y)

在SUCIM的實現(xiàn)中,程序的調(diào)用和創(chuàng)建過程及其相關(guān)參數(shù)可以通過系統(tǒng)鉤子機制截獲和實時分析,比如在Windows系統(tǒng)中的文件過濾驅(qū)動層設(shè)置鉤子機制,可以截獲程序創(chuàng)建過程的各種信息,包括程序的位置、類型等。

a、b分別為函數(shù)p(x,y) 和q(x,y) 在結(jié)果函數(shù)f(x,y) 中的權(quán)重,a、b≥0,a+b=1。

f(x,y) 可以表示為一個0或1的二值函數(shù):a*p(x,y)+b*q(x,y) 大于一個預(yù)設(shè)的(或者通過訓(xùn)練得到的)臨界值時,f(x,y)=1, 表示x和y是同族程序;否則f(x,y)=0, 表示x和y不是同族程序。

3.1節(jié)基于程序路徑名相似度的同族程序判斷方法在實際應(yīng)用中還存在較大的誤差,可能導(dǎo)致SUCIM將很多一般應(yīng)用程序標記為工具類程序,從而將正常的軟件升級過程攔截。出現(xiàn)這一問題的原因是因為基于程序路徑相似度的同族程序判斷方法不能完全反映軟件開發(fā)的習(xí)慣和規(guī)律。

按照實驗方法測定鈷產(chǎn)品生產(chǎn)過程CoCl2凈化液(樣品5)和Co(NO3)2凈化液(樣品6和7)中Cu、Fe、Ni、Cd、Zn、Mn、Mg、Si、As,并與標準方法YS/T 281—2011所規(guī)定的檢測方法結(jié)果進行對照,結(jié)果見表13。

4 實驗驗證

對SUCIM的效果和性能要通過實驗進行驗證。要驗證的內(nèi)容和目標包括:

(1)可信軟件在線升級精確率。即正確判斷可信軟件在線升級代碼數(shù)量占所有判斷為可信軟件在線升級代碼數(shù)量的比例,它也反映了SUCIM將不可信程序判斷為可信軟件在線升級代碼的比例,基于SUCIM的功能目標,這個精確率需要達到100%。

(2)可信軟件在線升級召回率。在所有被測試的可信軟件中,能夠被正確判斷出來的比例。在精確率達到100%的前提下,盡量提高召回率,因為召回率越高,可信軟件在線升級成功的比例越高。

4.1 實驗環(huán)境和實驗數(shù)據(jù)來源

由于目前還沒有相應(yīng)的開源數(shù)據(jù)集可以用來對SUCIM進行訓(xùn)練和驗證,所以只能從互聯(lián)網(wǎng)上下載各類軟件,對基于3.2節(jié)改進的同族程序判斷方法所實現(xiàn)的SUCIM進行測試和驗證。

為了保證測試環(huán)境的可重復(fù)性,同時保證有足夠的測試環(huán)境數(shù)量,實驗環(huán)境采用了基于KVM的虛擬桌面系統(tǒng),包括多個實驗?zāi)副荆╓indows7和Windows10兩種操作系統(tǒng);每個母本安裝不同的測試用軟件,這樣既可以很方便地測試多個應(yīng)用軟件,而且還能夠通過虛擬機還原到母本狀態(tài),保證實驗的可重復(fù)性和可驗證性。

Study on solid liquid separation technology of human fecal water

測試應(yīng)用軟件包括辦公、游戲、視頻、瀏覽器、聊天、輸入法、音樂、圖片、系統(tǒng)、編程等各種類型。其中一部分通過殺毒軟件檢測,確認為非惡意代碼后,被加入到可信代碼清單中(共41個);另一部分則作為不可信軟件用例(共6個)。

在北大,我也碰到個別有負面情緒的年輕人,他們不是抱怨工資太低,領(lǐng)導(dǎo)對自己不好,同事缺點太多,就是抱怨社會不公平,自己沒有機會。試想一下,這樣的人怎么可能工作順暢,事業(yè)成功呢?

4.2 實驗結(jié)果和討論

實驗結(jié)果中,6個不可信軟件都沒有被SUCIM標記為可信軟件,符合我們的目標;41個可信軟件的升級過程中,有36個順利完成,5個被SUCIM攔截。可以得出SUCIM的精確率和召回率分別約為87.8%和100%。

我們對不成功的軟件升級過程進行深入分析,發(fā)現(xiàn)這些升級被攔截的軟件都有一個共同點,它們都習(xí)慣在系統(tǒng)文件夾或公共文件下創(chuàng)建文件,并且文件命名也非常隨意,導(dǎo)致它們被SUCIM判定為工具類程序,進而認為它們所創(chuàng)建的程序不屬于可信程序。

我們還發(fā)現(xiàn),這些升級被攔截的軟件,有些行為特征與惡意代碼的隱匿特征非常相似,其中很大一部分軟件(如某些瀏覽器和終端安全/管理類軟件)的確也存在一些不良行為,雖然SUCIM導(dǎo)致它們自動在線升級失敗,但是從另一個角度分析,這一結(jié)果對于用戶以及惡意代碼發(fā)現(xiàn)也不失為一件好事。

5 結(jié)束語

SUCIM的核心算法是同族程序判斷方法,截至目前,我們只是基于自身對軟件開發(fā)的一些慣例和規(guī)律(以及對惡意軟件的一些特性)的認識和經(jīng)驗,人工設(shè)計了一套判斷規(guī)則及其相關(guān)參數(shù),實現(xiàn)一個初步的同族程序判斷算法,顯然,這個初步實現(xiàn)難免存在各種不足。

下一步的研究中,我們將重點從兩個方向繼續(xù)深入,一是采用多節(jié)點分布式截獲代碼調(diào)用和代碼創(chuàng)建過程信息,然后可信軟件在線升級過程進行綜合判斷,這樣能減少或避免單節(jié)點環(huán)境中的可能誤判;二是建立有更多、更合理測試樣本的軟件用例庫,并提取和建立有效特征庫;在算法設(shè)計中,引入機器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)等技術(shù),在大樣本空間的基礎(chǔ)上,避免過于依靠人工經(jīng)驗,得到更準確的同族程序判斷模型,從而進一步提高SUCIM的實用性。

猜你喜歡
同族調(diào)用代碼
在草原
最后的恐龍
聰明的野牛
家教世界(2021年4期)2021-12-04 01:36:56
核電項目物項調(diào)用管理的應(yīng)用研究
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
創(chuàng)世代碼
動漫星空(2018年11期)2018-10-26 02:24:02
創(chuàng)世代碼
動漫星空(2018年2期)2018-10-26 02:11:00
創(chuàng)世代碼
動漫星空(2018年9期)2018-10-26 01:16:48
創(chuàng)世代碼
動漫星空(2018年5期)2018-10-26 01:15:02
基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
上栗县| 潮安县| 息烽县| 肥东县| 阿克苏市| 卢湾区| 伊吾县| 潮州市| 深泽县| 广灵县| 桃源县| 郎溪县| 江油市| 台中县| 阿巴嘎旗| 资源县| 巧家县| 遵义县| 尉氏县| 通山县| 阿鲁科尔沁旗| 什邡市| 巩义市| 鱼台县| 梁平县| 溧水县| 武威市| 新密市| 南江县| 柯坪县| 尉氏县| 潮州市| 卢龙县| 营口市| 桦南县| 绥阳县| 麻江县| 突泉县| 都安| 丁青县| 大邑县|