本申請是申請?zhí)枮?01280073333.6、發(fā)明名稱為“用于檢測關(guān)注的網(wǎng)絡(luò)活動的系統(tǒng)和方法”的發(fā)明專利申請的分案申請。
相關(guān)申請的交叉引用
本申請請求2012年5月23日提交的美國臨時申請13/479,222的優(yōu)先權(quán),其整體在此通過引用并入本文以用于所有目的。
本發(fā)明總體涉及數(shù)字安全領(lǐng)域,更具體地涉及網(wǎng)絡(luò)傳輸中被關(guān)注的活動的檢測,包括對惡意的網(wǎng)絡(luò)活動的檢測。
背景技術(shù):
計算機(jī)技術(shù)的發(fā)展已經(jīng)對數(shù)字安全領(lǐng)域提出了挑戰(zhàn)。公知的是,聯(lián)網(wǎng)的計算機(jī)(即,網(wǎng)絡(luò)節(jié)點(diǎn))可能會將有惡意的計算機(jī)數(shù)據(jù)擴(kuò)散至其它網(wǎng)絡(luò)節(jié)點(diǎn),從而導(dǎo)致系統(tǒng)毀壞和可能的經(jīng)濟(jì)損失。本領(lǐng)域技術(shù)人員可以理解的是,基于惡意計算機(jī)數(shù)據(jù)的攻擊包括計算機(jī)病毒、惡意軟件,蠕蟲、木馬程式、蠅蛆病、入侵(例如,未授權(quán)的訪問)、開發(fā)(例如,特權(quán)升級、違反保密),基于時間的攻擊(例如,拒絕服務(wù))等。術(shù)語“威脅”被用來描述這些類型的攻擊中的一個或多個。
數(shù)字安全技術(shù)可被用來檢測和/或從網(wǎng)絡(luò)傳輸去除惡意的計算機(jī)數(shù)據(jù)。本領(lǐng)域技術(shù)人員可以理解的是,數(shù)字安全技術(shù)可存在于各種網(wǎng)絡(luò)節(jié)點(diǎn),可封裝于硬件和/或軟件中,而且可包括“防病毒軟件”、“惡意軟件檢測”、“入侵防護(hù)”、“防攻擊”、防火墻等,雖然這些術(shù)語并不具有等同含義。術(shù)語“統(tǒng)一威脅管理”(“utm”)已經(jīng)被用來描述數(shù)字安全技術(shù)的實(shí)施方式中的一個或多個。
傳統(tǒng)數(shù)字安全技術(shù)通常利用對應(yīng)于特定威脅的簽名來檢測威脅。該模式下的現(xiàn)有設(shè)計至少在兩個方式下是不同的。首先,威脅的檢測依賴于特定威脅的先驗知識以及對特定威脅的簽名的可獲取性。例如,傳統(tǒng)數(shù)字安全技術(shù)可能依賴于已知簽名來檢測已知計算機(jī)病毒的存在。因此,傳統(tǒng)數(shù)字安全技術(shù)可能不能夠檢測還不能獲取簽名的威脅。例如,傳統(tǒng)數(shù)字安全技術(shù)可能不能夠檢測已知計算機(jī)病毒的未知變形。
第二,由于已知威脅數(shù)量的不斷增長,傳統(tǒng)數(shù)字安全技術(shù)保持了不斷增多的簽名。在獲取到來的網(wǎng)絡(luò)傳輸時,針對到來的數(shù)據(jù)就可能的威脅對保持的簽名進(jìn)行掃描。掃描處理使用大量的計算資源。通過一個估計,在企業(yè)級的數(shù)據(jù)中心的環(huán)境下,多大85%的數(shù)據(jù)中心的計算能力被花費(fèi)在數(shù)字安全操作上,而其僅僅小部分的真實(shí)能力被用于商業(yè)操作。在消費(fèi)類計算機(jī)的環(huán)境中,防病毒軟件的操作會導(dǎo)致計算機(jī)變得遲緩,這對任意計算機(jī)用戶都不會驚訝。
盡管該領(lǐng)域的改進(jìn)如何,傳統(tǒng)數(shù)字安全技術(shù)持續(xù)受限于由于它們的設(shè)計導(dǎo)致的這些缺陷。
技術(shù)實(shí)現(xiàn)要素:
在一個示例性實(shí)施例,從網(wǎng)絡(luò)傳輸獲取多個傳輸控制協(xié)議(tcp)包和多個互聯(lián)網(wǎng)協(xié)議(ip)包。獲取的網(wǎng)絡(luò)包包括關(guān)注的網(wǎng)絡(luò)活動。多個組合包被創(chuàng)建。多個組合包的第一組合包包括至少一個tcp包的一部分以及至少一個ip包的一部分。多個組合包的第二組合包包括至少一個tcp包的一部分以及至少一個ip包的一部分。第一和第二組合包不同。第一和第二組合包的相關(guān)子集被轉(zhuǎn)換成整數(shù)的一個序列。確定整數(shù)的第一和第二序列之間的相似性度量。根據(jù)相似性度量來創(chuàng)建第三序列,其中第三序列包括對第一序列和第二序列公共的第三多個整數(shù),該公共整數(shù)的順序與該公共整數(shù)在第一序列中的順序相同。根據(jù)整數(shù)的第三序列按照相同的順序在多個組合包中出現(xiàn)的頻率創(chuàng)建整數(shù)的第四序列。整數(shù)的第四序列被用于識別網(wǎng)絡(luò)傳輸?shù)奈粗蛹械年P(guān)注的網(wǎng)絡(luò)活動。
在一個示例性實(shí)施例,從網(wǎng)絡(luò)傳輸獲取多個傳輸控制協(xié)議(tcp)包和多個互聯(lián)網(wǎng)協(xié)議(ip)包。多個組合包被創(chuàng)建。組合包包括多個tcp包中的至少一個的一部分以及多個ip包中的至少一個的一部分。整數(shù)的序列保被獲取。如果整數(shù)序列的整數(shù)按照相同的順序出現(xiàn)在組合包中,組合包被認(rèn)為是異常的,網(wǎng)絡(luò)操作被啟動。網(wǎng)絡(luò)操作可以是用戶警告、掩蓋網(wǎng)絡(luò)節(jié)點(diǎn)的指令、或從傳輸中丟棄網(wǎng)絡(luò)包的指令。
在一個示例性實(shí)施例,包括關(guān)注區(qū)域的計算機(jī)圖像被獲取。計算機(jī)圖像可以是醫(yī)學(xué)影像。關(guān)注區(qū)域可表示有害組織。針對計算機(jī)圖像的每個像素創(chuàng)建逐位數(shù)據(jù)的多個序列。對于正在處理的給定像素,可根據(jù)將給定像素與計算機(jī)圖像的邊緣分開的其它像素來創(chuàng)建逐位數(shù)據(jù)的序列。由于從給定像素至計算機(jī)圖像的各個邊緣存在多個路徑,所以可以針對計算機(jī)圖像的每個像素創(chuàng)建逐位數(shù)據(jù)的多個序列。而且,由于計算機(jī)圖像中存在多個像素,針對每個像素創(chuàng)建逐位數(shù)據(jù)的附加序列。所得到的逐位數(shù)據(jù)的序列每個都被轉(zhuǎn)換成整數(shù)序列,從而產(chǎn)生多個整數(shù)序列。整數(shù)序列的第一和第二序列之間的相似性度量被確定。基于相似性度量創(chuàng)建整數(shù)的第三序列,其中第三序列包括對于第一和第二序列公共的多個整數(shù),在第三序列的順序中公共整數(shù)出現(xiàn)在第一序列中。整數(shù)的第四序列,被稱為元表達(dá)式,是基于整數(shù)的第三序列在初始地從計算機(jī)圖像創(chuàng)建的整數(shù)的多個序列中按照順序出現(xiàn)的頻率創(chuàng)建的。元表達(dá)式被用于識別未知計算機(jī)圖像中的關(guān)注區(qū)域。
附圖說明
圖1描繪了用于檢測關(guān)注的網(wǎng)絡(luò)活動的示例性處理。
圖2描繪了采用了網(wǎng)絡(luò)活動檢測器的示例性實(shí)施例的網(wǎng)絡(luò)的框圖。
圖3描繪了用于訓(xùn)練統(tǒng)一威脅管理系統(tǒng)(utms)的示例性處理。
圖4描繪了網(wǎng)絡(luò)節(jié)點(diǎn)之間的網(wǎng)絡(luò)包的示例性傳輸。
圖5描繪了ip包頭的布局。
圖6描繪了tcp包頭的布局。
圖7描繪了ip網(wǎng)絡(luò)包頭的示例值。
圖8描繪了距離函數(shù)的實(shí)施例中的示例性處理。
圖9(a)-(f)描繪了示例性網(wǎng)絡(luò)包。
圖10(a)-(c)描繪了8位整數(shù)的示例性序列。
圖11描繪了8位整數(shù)的示例性序列。
圖12描繪了網(wǎng)絡(luò)包的示例組。
圖13描繪了用于檢測關(guān)注的網(wǎng)絡(luò)活動的示例性計算系統(tǒng)。
圖14描繪了用于檢測其它關(guān)注的電子信息的示例性處理。
圖15描繪了用于訓(xùn)練計算機(jī)成像系統(tǒng)的示例性處理。
圖16(a)-(b)描繪了示例性放射圖像。
具體實(shí)施方式
下面的描述被用于使得本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)并使用各種實(shí)施例。具體裝置、技術(shù)和應(yīng)用的描述被僅僅提供用作示例。對此處描述的示例的各種修改對于本領(lǐng)域技術(shù)人員是明顯的,而且此處定義的總體原則可應(yīng)用至其它示例和應(yīng)用而不脫離各種實(shí)施例的精神和范圍。因此,各種實(shí)施例并非受限于此處描述并顯示的示例,而是遵循與權(quán)利要求權(quán)利要求一致的范圍。
此處描述的實(shí)施例包括用于檢測關(guān)注的網(wǎng)絡(luò)活動的技術(shù)。示例性關(guān)注的網(wǎng)絡(luò)活動包括基于威脅的計算機(jī)病毒、惡意軟件,蠕蟲、木馬程式、蠅蛆病、侵入(例如,未授權(quán)的訪問)、開發(fā)(例如,特權(quán)升級、違反保密),基于時間的攻擊(例如,拒絕服務(wù))等。示例性關(guān)注的網(wǎng)絡(luò)活動還可包括經(jīng)由網(wǎng)絡(luò)對受版權(quán)保護(hù)的和/或淫穢的材料的非法下載。
1.概覽
圖1圖示出用于檢測關(guān)注的網(wǎng)絡(luò)活動的示例性處理100。就本公開文本而已,術(shù)語“統(tǒng)一威脅管理系統(tǒng)”(utms)被用于描述執(zhí)行處理100的計算機(jī)安全技術(shù),而不考慮該技術(shù)被提供為軟件形式(例如,作為軟件包)還是硬件形式(例如,專用集成電路或裝置)。在處理100中,塊110可被稱為訓(xùn)練處理,塊120-140可被統(tǒng)稱為運(yùn)行處理。
在塊110,utms被訓(xùn)練成識別出與關(guān)注的網(wǎng)絡(luò)活動相關(guān)的網(wǎng)絡(luò)傳輸?shù)奶卣?。例如,utms可配置有反映特定的已知威脅的一系列網(wǎng)絡(luò)傳輸。這種一系列的訓(xùn)練網(wǎng)絡(luò)傳輸可獲取自例如網(wǎng)絡(luò)包捕獲應(yīng)用編程接口(“api”),比如“pcap”。訓(xùn)練網(wǎng)絡(luò)傳輸還可獲取自網(wǎng)絡(luò)傳輸?shù)幕ヂ?lián)網(wǎng)資源庫,例如獲取自開放包組織。雖然api和/或資源庫的名稱可能隨時間變化,但是捕獲網(wǎng)絡(luò)傳輸?shù)母拍钍潜绢I(lǐng)域技術(shù)人員能夠抓住的。
在塊110,utms根據(jù)計算機(jī)數(shù)據(jù)的訓(xùn)練網(wǎng)絡(luò)傳輸組合序列(其后續(xù)可用來識別相同關(guān)注的網(wǎng)絡(luò)活動是否存在于網(wǎng)絡(luò)傳輸?shù)牧硪晃粗蛹?進(jìn)行識別。而且,借助于塊110的處理,utms還變得能夠識別與之前存在于訓(xùn)練網(wǎng)絡(luò)傳輸中的威脅相關(guān)的威脅(即,變體)的存在。
在塊120,utms監(jiān)控一組網(wǎng)絡(luò)傳輸以確定(經(jīng)過訓(xùn)練并且相關(guān)的)關(guān)注的網(wǎng)絡(luò)活動是否存在于網(wǎng)絡(luò)傳輸中。例如,utms可確定網(wǎng)絡(luò)中的一個節(jié)點(diǎn)是否正企圖利用之前在訓(xùn)練網(wǎng)絡(luò)傳輸中提供的威脅的變體(塊110)攻擊另一網(wǎng)絡(luò)節(jié)點(diǎn)。
在決定塊130,utms確定監(jiān)控的一組網(wǎng)絡(luò)傳輸是正常的還是異常的。異常網(wǎng)絡(luò)傳輸是這樣的網(wǎng)絡(luò)傳輸,其中utms已經(jīng)識別出關(guān)注的網(wǎng)絡(luò)活動。如果找到異常的網(wǎng)絡(luò)傳輸,處理進(jìn)入塊140,其中utms產(chǎn)生一個或多個適當(dāng)響應(yīng)。適當(dāng)響應(yīng)可以是用戶或系統(tǒng)警告。另一適當(dāng)響應(yīng)可以是擦除來自受損的網(wǎng)絡(luò)節(jié)點(diǎn)的響應(yīng),由此使得入侵網(wǎng)絡(luò)節(jié)點(diǎn)保持沒覺察到該“成功”攻擊。而另一適當(dāng)響應(yīng)可以是掩蓋攻擊所對準(zhǔn)的網(wǎng)絡(luò)節(jié)點(diǎn),由此使得攻擊網(wǎng)絡(luò)節(jié)點(diǎn)不再到達(dá)目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)。如果沒有找到網(wǎng)絡(luò)傳輸,處理回到塊120,而且utms監(jiān)控另一組網(wǎng)絡(luò)傳輸。
圖2是網(wǎng)絡(luò)框圖,其圖示了處理100(圖1)在網(wǎng)絡(luò)上的示例性布置。如圖2所示,桌面及膝上計算機(jī)213-216經(jīng)由線纜調(diào)制解調(diào)器210、防火墻211、和路由器212連接至云網(wǎng)絡(luò)201。手機(jī)222和膝上計算機(jī)223經(jīng)由蜂窩服務(wù)提供商220無線連接至網(wǎng)絡(luò)201。數(shù)據(jù)中心231經(jīng)由調(diào)制解調(diào)器230連接至云網(wǎng)絡(luò)201。處理100的一部分可布置在網(wǎng)絡(luò)裝置(例如,防火墻211、和路由器212)、端點(diǎn)(例如,計算機(jī)213-216)、網(wǎng)關(guān)裝置(例如,調(diào)制解調(diào)器210、網(wǎng)關(guān))、移動裝置(例如,手機(jī)222、桌面計算機(jī)223)等上。換言之,處理100的一部分可布置在網(wǎng)絡(luò)節(jié)點(diǎn)210-216、220-223和/或230-231中的一個或多個上。例如,處理100可集成至手機(jī)222、桌面計算機(jī)223和/或計算機(jī)213-216上運(yùn)行的操作系統(tǒng)kernel。處理100(圖1)還可集成至線纜調(diào)制解調(diào)器210、utms211和/或路由器212的硬件。
在下面的討論中,出于簡化的目的,計算機(jī)病毒的威脅被用作示例性關(guān)注的網(wǎng)絡(luò)活動。但是,處理100(圖1)并不限于此。實(shí)際上,處理100可被utms用來管理許多種關(guān)注的網(wǎng)絡(luò)活動,如上所述。巧合地,對計算機(jī)病毒的(示例的)討論以計算機(jī)用戶可以理解的方式強(qiáng)調(diào)了處理100的實(shí)際優(yōu)勢。
現(xiàn)在,超過兩百萬計算機(jī)病毒是已知存在的。精確數(shù)據(jù)在二百五十萬至八百萬之間變動,這是因為不同權(quán)威來源對計算機(jī)病毒的編目不同。在處理100的塊110,utms可配置有反映基于一個或多個已知計算機(jī)病毒的攻擊的網(wǎng)絡(luò)傳輸。在塊110結(jié)束時,utms變得被訓(xùn)練成檢測網(wǎng)絡(luò)傳輸中一個或多個計算機(jī)病毒及其變體的存在。在塊120-140,utms針對該一個或多個計算機(jī)病毒及其變體的存在而監(jiān)控網(wǎng)絡(luò)傳輸。按照這樣的方式,utms能夠管理基于已知威脅及其未知變體的攻擊。
處理100至少在兩個方面很顯著。首先,塊110產(chǎn)生了數(shù)據(jù)的組合序列,其可被用來檢測所有已知計算機(jī)病毒及其變體。因此,采用處理100的utms在操作期間沒有必要依賴于對的特定計算機(jī)病毒的先驗知識來檢測網(wǎng)絡(luò)傳輸中的計算機(jī)病毒。其次,塊110產(chǎn)生了數(shù)據(jù)的組合序列,其相對于傳統(tǒng)計算機(jī)防病毒技術(shù)所使用的計算機(jī)病毒簽名文件在結(jié)構(gòu)和尺寸方面效率更高。具體地,已經(jīng)確定的是,總體小于200個(8位)字節(jié)的數(shù)據(jù)的組合序列足以在處理100下識別出當(dāng)前已知存在的大多數(shù)(如果不是全部)計算機(jī)病毒。該尺寸與傳統(tǒng)計算機(jī)病毒簽名文件的尺寸(尺寸為50兆(mb)至300mb)形成鮮明對比。為了清楚的認(rèn)識,50mb的尺寸比200(8位)字節(jié)大5個數(shù)量級。因此,在utms采用處理100的操作期間,可以實(shí)現(xiàn)顯著的計算效率。
2.訓(xùn)練
圖3圖示出用于訓(xùn)練utms的示例性處理300。在一個實(shí)施例中,處理300執(zhí)行塊110的特征(圖1)。在塊310,獲取了網(wǎng)絡(luò)傳輸,而且兩個網(wǎng)絡(luò)節(jié)點(diǎn)之間發(fā)送(即,發(fā)過去或者接收)的一系列網(wǎng)絡(luò)包被組合在一起。一些或所有組合的網(wǎng)絡(luò)包可以是連續(xù)的。“網(wǎng)絡(luò)包”的概念是本領(lǐng)域公知的,在此不再詳述。舉例來說,術(shù)語“網(wǎng)絡(luò)包”可能指的是以太包、傳輸控制協(xié)議(tcp)包、互聯(lián)網(wǎng)協(xié)議(ip)包等。
提供給塊310的網(wǎng)絡(luò)包應(yīng)該包括關(guān)注的網(wǎng)絡(luò)活動,以能夠訓(xùn)練utms。在當(dāng)前實(shí)例中,關(guān)注的網(wǎng)絡(luò)活動是兩個網(wǎng)絡(luò)節(jié)點(diǎn)之間的網(wǎng)絡(luò)傳輸中的計算機(jī)病毒的存在。因此,提供給塊310的網(wǎng)絡(luò)包應(yīng)該代表一個網(wǎng)絡(luò)節(jié)點(diǎn)利用計算機(jī)病毒對另一網(wǎng)絡(luò)節(jié)點(diǎn)的攻擊,而且應(yīng)該還表示從被攻擊的網(wǎng)絡(luò)節(jié)點(diǎn)得到的響應(yīng)。
兩個網(wǎng)絡(luò)節(jié)點(diǎn)之間的網(wǎng)絡(luò)包在塊310的組合是雙向的,因為來自或者朝向一對網(wǎng)絡(luò)節(jié)點(diǎn)的網(wǎng)絡(luò)傳輸被組合在一起。雙向的網(wǎng)絡(luò)傳輸通常由不同層次的通信組合,從兩個網(wǎng)絡(luò)節(jié)點(diǎn)之間的初始握手到數(shù)據(jù)的完全傳輸。(雙向)網(wǎng)絡(luò)包的這種組合基于兩個網(wǎng)絡(luò)節(jié)點(diǎn)之間建立的通信的存在。兩個網(wǎng)絡(luò)節(jié)點(diǎn)之間建立的通信有時候被稱為“會話”。兩個網(wǎng)絡(luò)節(jié)點(diǎn)可請求經(jīng)由一個信道建立通信。例如,主機(jī)和服務(wù)器可在一個端口握手。一旦建立了通信,兩個網(wǎng)絡(luò)節(jié)點(diǎn)可進(jìn)一步通過新創(chuàng)建的信道進(jìn)行通信。例如,主機(jī)和服務(wù)器可通過tcp/ip在不同于初始請求建立通信的端口的另一端口進(jìn)行通信。
在一個實(shí)施例中,(雙向)網(wǎng)絡(luò)包在塊310的組合起始于網(wǎng)絡(luò)傳輸中表示建立的通信的開始的網(wǎng)絡(luò)包的識別和網(wǎng)絡(luò)傳輸中的表示建立的通信的結(jié)束的另一網(wǎng)絡(luò)包。建立的通信的開始可以是包含請求的網(wǎng)絡(luò)包。建立的通信的結(jié)束可以是包含相應(yīng)確收的網(wǎng)絡(luò)包。在一個實(shí)施例中,附加網(wǎng)絡(luò)包可被識別,比如表示“請求確收”的網(wǎng)絡(luò)包。osi模型的不同層的網(wǎng)絡(luò)包可提供請求和確收信息。例如,http網(wǎng)絡(luò)包(即,在osi應(yīng)用層)和tcp網(wǎng)絡(luò)包(即,在osi傳輸層)兩者都包含請求字段,其中一個足以用于塊310。按照這樣的方式,塊310可將與建立的通信相對應(yīng)的雙向網(wǎng)絡(luò)包組合在一起,而不依賴于源網(wǎng)絡(luò)地址和目的地地址。塊310還可將與建立的通信相對應(yīng)的雙向網(wǎng)絡(luò)包組合在一起,而不依賴于源和目的地端口編號。
現(xiàn)在將參考圖4討論塊310。如所示,網(wǎng)絡(luò)包430-460表示網(wǎng)絡(luò)節(jié)點(diǎn)410和420之間的一系列網(wǎng)絡(luò)包。網(wǎng)絡(luò)包430由網(wǎng)絡(luò)節(jié)點(diǎn)410發(fā)送至網(wǎng)絡(luò)節(jié)點(diǎn)420,其包括請求。因此,網(wǎng)絡(luò)包430指示將被組合在一起的一系列網(wǎng)絡(luò)包的開始。在這樣的環(huán)境中,網(wǎng)絡(luò)節(jié)點(diǎn)410可被稱為主機(jī),因為其發(fā)起了請求,而且網(wǎng)絡(luò)節(jié)點(diǎn)420可被稱為服務(wù)器,因為其是請求的接收方。網(wǎng)絡(luò)包440和450分別由網(wǎng)絡(luò)節(jié)點(diǎn)420和410發(fā)送,而且表示應(yīng)該被組合在一起的兩個網(wǎng)絡(luò)節(jié)點(diǎn)之間的數(shù)據(jù)的雙向通信。網(wǎng)絡(luò)包460由網(wǎng)絡(luò)節(jié)點(diǎn)420發(fā)送至網(wǎng)絡(luò)節(jié)點(diǎn)410以確認(rèn)適當(dāng)量的數(shù)據(jù)已經(jīng)被接收。因此,網(wǎng)絡(luò)包460指示將被組合在一起的一系列的網(wǎng)絡(luò)包的結(jié)束。按照這樣的方式,網(wǎng)絡(luò)包430至460在塊310(圖3)被組合成網(wǎng)絡(luò)包的接合的組。網(wǎng)絡(luò)包組被稱為被“接合”,因為數(shù)據(jù)的組存在清晰的開始和清晰的結(jié)尾。塊310可重復(fù)以產(chǎn)生多對網(wǎng)絡(luò)節(jié)點(diǎn)之間的雙向網(wǎng)絡(luò)包的附加組。
應(yīng)該理解的是,在塊310執(zhí)行的網(wǎng)絡(luò)包的組合也意味著捕獲其它類型的信息,這些信息對檢測關(guān)注的網(wǎng)絡(luò)活動有用。例如,在拒絕服務(wù)攻擊(“dos”)(基于時間的攻擊的一類),在給定的時間框架內(nèi)傳輸了相對大量的網(wǎng)絡(luò)包。dos攻擊(或者更具體地,無疑問地在塊310捕獲了基于時間的攻擊)導(dǎo)致的網(wǎng)絡(luò)包在相關(guān)時間框架內(nèi)的出現(xiàn),因為塊310將這些網(wǎng)絡(luò)包組合成(雙向)會話。隨后,處理300中的后續(xù)處理針對與檢測特征dos攻擊相關(guān)的信息,分析組合的網(wǎng)絡(luò)包。
由塊310組合的網(wǎng)絡(luò)包內(nèi)的僅僅特定字段與檢測關(guān)注的網(wǎng)絡(luò)活動有關(guān)。在塊320,相關(guān)信息被保留,而且不相關(guān)的信息被拋棄?,F(xiàn)在參考圖5和6來討論塊320。圖5圖示出ip網(wǎng)絡(luò)包的布局,其中字段與檢測循環(huán)的關(guān)注的網(wǎng)絡(luò)活動有關(guān)。這些相關(guān)字段包括服務(wù)類型(“tos”)511、(ip網(wǎng)絡(luò)包的)總長12、ip標(biāo)志513、存活時間514、協(xié)議515、ip選項516和數(shù)據(jù)內(nèi)容517。圖6圖示出tcp網(wǎng)絡(luò)包的布局,其中字段與檢測循環(huán)的關(guān)注的網(wǎng)絡(luò)活動(例如,計算機(jī)病毒)有關(guān)。這些字段包括序列標(biāo)號611、確收數(shù)量612、偏移613、tcp標(biāo)志614、窗口615、緊急指針616、tcp選項617和數(shù)據(jù)內(nèi)容618。按照這樣的方式,塊310的輸出被減少以僅僅包含與檢測關(guān)注的網(wǎng)絡(luò)活動有關(guān)的信息。該保持處理被應(yīng)用至由塊310產(chǎn)生的網(wǎng)絡(luò)包的組中的每個ip和tcp網(wǎng)絡(luò)包。塊320的輸出被稱為“重組包”。
塊320的三個方面是值得注意的。首先,塊320不保留ip網(wǎng)絡(luò)包中的源或目的地地址或者tcp網(wǎng)絡(luò)包中的源或目的地端口號。因此,采用處理300的utms沒有必要依賴于網(wǎng)絡(luò)地址或端口信息來檢測關(guān)注的網(wǎng)絡(luò)活動。其次,頭長度(ihl)510(圖5)被用于確定ip網(wǎng)絡(luò)包頭的長度,由此ip網(wǎng)絡(luò)包內(nèi)的相關(guān)字段可被適當(dāng)組合,但是頭長度(ihl)510本身未包含在塊320的輸出中。第三,包含的字段并不限于計算機(jī)病毒(在當(dāng)前示例中是關(guān)注的網(wǎng)絡(luò)活動)的檢測。實(shí)際上,字段支持前面討論的關(guān)注的網(wǎng)絡(luò)活動的全范圍的檢測。
在塊330,來自塊320的重組包(即,相關(guān)信息)被逐位轉(zhuǎn)換成整數(shù),從而產(chǎn)生與初始地提供給處理300信息的子集相對應(yīng)的整數(shù)的序列。在一個實(shí)施例中,8位整數(shù)被使用。本領(lǐng)域技術(shù)人員可以理解的是,ip和tcp網(wǎng)絡(luò)包包含少于8位、剛好8位或者多余8位的長度的字段。通過向最高有效輸出位填充0,占據(jù)少于8位的字段被轉(zhuǎn)換成8位的表達(dá)。例如,塊320將比特“100”轉(zhuǎn)換為“00000100”。tos511和ip標(biāo)志513(圖5),分別作為4位和3位字段,被按照這樣的方式轉(zhuǎn)換。占據(jù)多于8位的字段被轉(zhuǎn)換成多個8位的分段。例如,塊320將比特“0001001001001000”轉(zhuǎn)換成“00010010”和“01001000”。數(shù)據(jù)內(nèi)容517占據(jù)多于8位,被按照這樣的方式轉(zhuǎn)換。
現(xiàn)在參考圖7討論塊320和330。圖7圖示出ip網(wǎng)絡(luò)包的一部分。如上所述,在ip網(wǎng)絡(luò)包710內(nèi),tos711和中長712以及其它對于檢測關(guān)注的網(wǎng)絡(luò)活動是有用的。因此,字段711和712被塊320保留并被提供給塊330以轉(zhuǎn)換成整數(shù)。重組包714表示塊320所包含的ip網(wǎng)絡(luò)包710部分。塊330將重組包714的內(nèi)容逐位轉(zhuǎn)換成8位整數(shù)715、716和717。注意,出于簡化的目的,圖7僅僅示出了ip網(wǎng)絡(luò)包710的一部分。在正常操作期間,塊320處理塊320產(chǎn)生的ip和tcp網(wǎng)絡(luò)包的所有組,塊330繼而處理塊320保留的ip和tcp網(wǎng)絡(luò)包的所有組。按照這樣的方式,塊330產(chǎn)生包含整數(shù)“40183…”的8位整數(shù)718的序列??蛇x地,8位整數(shù)718的序列的長度可被限制至65,536(8位)整數(shù)。
對于此處的使用,術(shù)語“序列”描述了排序的元素的列表,例如,整數(shù)。應(yīng)該理解的是,整數(shù)718的序列內(nèi)的元素的排序是從塊310-320處理的雙向網(wǎng)絡(luò)傳輸?shù)南嚓P(guān)部分的排序的鄰接導(dǎo)出的。換句話說,就關(guān)注的網(wǎng)絡(luò)活動產(chǎn)生兩個網(wǎng)絡(luò)節(jié)點(diǎn)之間的網(wǎng)絡(luò)傳輸中的特征響應(yīng)而言,該響應(yīng)被塊310-330的處理捕獲。在塊340-360的處理中進(jìn)一步對響應(yīng)進(jìn)行提取,如下文所述,由此其變得對于檢測網(wǎng)絡(luò)傳輸?shù)奈粗蛹械年P(guān)注的網(wǎng)絡(luò)活動有用。
在塊340,距離函數(shù)被用于從塊330產(chǎn)生的整數(shù)的序列識別出特征。針對在時間上鄰接的整數(shù)的序列執(zhí)行距離函數(shù),意味著塊330產(chǎn)生的整數(shù)的序列(基于來自塊320的網(wǎng)絡(luò)包的一個組)與塊330產(chǎn)生的整數(shù)的下一個鄰接的序列進(jìn)行比較(基于來自塊320的網(wǎng)絡(luò)包的下一個鄰接的組)。
諸如字符串距離函數(shù)之類的傳統(tǒng)距離函數(shù)在本領(lǐng)域是公知的,在此不詳述。舉例來說,傳統(tǒng)字符串距離函數(shù)可被用于確定字符串“abc”和“zbc”具有舉例1,因為該字符串的僅僅變化在于前者的“a”被后者的“z”代替,而且表示這兩個字符串之間的唯一的差別。塊330產(chǎn)生的網(wǎng)絡(luò)包的組使得它們自身與距離函數(shù)比較,因為塊330產(chǎn)生了整數(shù)的序列,其可被距離函數(shù)當(dāng)作是單獨(dú)的元素。但是,傳統(tǒng)字符串距離函數(shù)并不提供足夠用于檢測關(guān)注的網(wǎng)絡(luò)活動的距離度量。例如,兩個字符串相差距離1的知識提供了用于計算機(jī)病毒檢測的很少的有用信息。
在一個實(shí)施例中,塊340執(zhí)行定制距離函數(shù),下面將予以描述,其產(chǎn)生支持關(guān)注的網(wǎng)絡(luò)活動的檢測的減小的整數(shù)序列。出于簡化的目的,參考圖8和9描述塊340的定制距離函數(shù)。圖8圖示出在一個實(shí)施例中用于執(zhí)行定制距離函數(shù)的示例性處理800。圖9圖示出當(dāng)前實(shí)施例中中示例性處理800處理的示例性網(wǎng)絡(luò)包的組。
回到圖8,在塊810,定制距離函數(shù)識別出塊340(圖3)產(chǎn)生的整數(shù)的相鄰的多對序列內(nèi)出現(xiàn)的整數(shù)。圖9a圖示出整數(shù)910-919的示例性序列。圖9b圖示出示例性整數(shù)“101”,其至少出現(xiàn)在多對相鄰整數(shù)序列910-911、911-912和912-913內(nèi)。(注意,整數(shù)序列914-919出于簡潔的目的而未示出)。在塊810,定制距離函數(shù)還識別出多對相鄰整數(shù)序列中的識別出的整數(shù)的第一距離。圖9c圖示出相鄰整數(shù)序列910-911、911-912和912-913中識別出的第一距離“101”。
在塊820(圖8),定制距離函數(shù)使得相鄰整數(shù)序列對中識別出的整數(shù)的第一距離對齊。圖9d圖示出多對相鄰整數(shù)序列910-911、911-912和912-913中的第一距離“101”的對齊。
在塊830(圖8),在一些情況下,可針對一對相鄰整數(shù)序列創(chuàng)建減少的整數(shù)序列。創(chuàng)建減少的整數(shù)序列(針對一對相鄰整數(shù)序列),如果一對整數(shù)序列的相鄰組對于公共的整數(shù)中的一個或多個:(i)按照相同順序出現(xiàn)在網(wǎng)絡(luò)包的一對相鄰組中,而且(ii)具有處于第一閾值距離內(nèi)的網(wǎng)絡(luò)包的一對相鄰組中的位置。在一個實(shí)施例中,第一閾值距離為4。如果被創(chuàng)建,減少的整數(shù)序列將包括滿足上述要求(i)和(ii)的整數(shù)(相對于一對相鄰整數(shù)序列)。
圖9e圖示出,當(dāng)?shù)谝痪嚯x“101”在整數(shù)序列910和911之間對齊時,整數(shù)“48”和“52”滿足上述要求(i)和(ii)。具體地,整數(shù)“101”、“48”和“52”按照相同的順序出現(xiàn)在整數(shù)序列910和911中。而且,整數(shù)“48”在第一閾值距離(在當(dāng)前實(shí)施例下為4)內(nèi)出現(xiàn)在整數(shù)序列910和911中。因此,如圖9f所示,減少的整數(shù)序列920被創(chuàng)建,而且包括整數(shù)序列“1014852”。同樣如圖9f所示,整數(shù)序列911和912中的整數(shù)“101”“48”和“52”也滿足上述要求(i)和(ii)。因此,減少的整數(shù)序列921被創(chuàng)建,而且包括整數(shù)的序列“1014852”。而且如圖9f所示,整數(shù)序列912和913中的整數(shù)“53”和“101”也滿足上述要求(i)和(ii)。因此,減少的整數(shù)序列922被創(chuàng)建,而且包括整數(shù)序列“53101”。
針對在至少一對相鄰序列整數(shù)中出現(xiàn)的其它整數(shù)重復(fù)塊810-830。例如,整數(shù)“48”也出現(xiàn)在整數(shù)序列910-919中的至少一個對相鄰整數(shù)序列中。因此,針對8位整數(shù)“48”重復(fù)塊810-830。
在塊830(圖3的塊340執(zhí)行的示例性字符串函數(shù))的結(jié)尾,處理進(jìn)入塊350(圖3)。在塊350,減少的整數(shù)序列在第二閾值距離內(nèi)在塊330創(chuàng)建的網(wǎng)絡(luò)包中出現(xiàn)的頻率被確定。第一和第二閾值距離可以相同或者不同。在一個實(shí)施例中,第二閾值距離是4。圖10a圖示出塊330創(chuàng)建的整數(shù)序列910-919。此外,圖10b圖示出減少的整數(shù)序列920-922(圖9f)在整數(shù)序列910-919中的出現(xiàn)。如所示,十個整數(shù)的序列910-919中的八個中出現(xiàn)了減少的整數(shù)序列920(“1014852”)(在示例性第二閾值距離4內(nèi))。因此,頻率80%與減少的整數(shù)序列920相關(guān)。出于同樣的理由,頻率80%與減少的整數(shù)序列921相關(guān)。注意,減少的整數(shù)序列920和921在第二閾值距離(在該示例中為4)內(nèi)沒有出現(xiàn)在整數(shù)序列916中,這是因為整數(shù)“101”和“48”被網(wǎng)絡(luò)包916的組中的多于四個的位置分開。而且如所示,減少的整數(shù)序列922(“53101”)出現(xiàn)(在示例性第二閾值距離4內(nèi))在網(wǎng)絡(luò)包的四個組910-919中的三個中。因此,頻率30%與減少的整數(shù)序列922相關(guān)。與減少的整數(shù)序列920-921相關(guān)的頻率被圖示在圖10b。指示減少的整數(shù)序列在閾值距離內(nèi)按順序出現(xiàn)在網(wǎng)絡(luò)包的組中的頻率的這些值,可稱為術(shù)語“秘密值”。
在塊360(圖3),具有低于閾值秘密值的秘密值的減少的整數(shù)序列被拋棄。在一個實(shí)施例中,閾值秘密值介于80-90%。圖10c圖示出減少的整數(shù)序列922的拋棄。此外,減少的整數(shù)序列920和921(它們相同)被去重復(fù)并被保持為減少的整數(shù)序列1030。就本公開文本而已,減少的整數(shù)序列1030可被稱為術(shù)語“元表達(dá)式”。
元表達(dá)式1030表示足以檢測網(wǎng)絡(luò)傳輸內(nèi)的關(guān)注的網(wǎng)絡(luò)活動的信息。具體地,元表達(dá)式1030足以檢測處理300的初始輸入(圖3)所表示的網(wǎng)絡(luò)活動。處理300(圖3)的輸入是表示一個網(wǎng)絡(luò)節(jié)點(diǎn)利用計算機(jī)病毒對另一網(wǎng)絡(luò)節(jié)點(diǎn)的攻擊以及來自受損的網(wǎng)絡(luò)節(jié)點(diǎn)的響應(yīng)的一系列網(wǎng)絡(luò)包。
可針對其它類型的關(guān)注的網(wǎng)絡(luò)活動重復(fù)處理300(圖3)。例如,可利用表示利用計算機(jī)蠕蟲a的攻擊的網(wǎng)絡(luò)傳輸來執(zhí)行處理300,以識別用于檢測計算機(jī)蠕蟲a及其變體的元表達(dá)式??衫帽硎纠糜嬎銠C(jī)開發(fā)b的攻擊的網(wǎng)絡(luò)傳輸來執(zhí)行處理300,以識別用于檢測計算機(jī)開發(fā)b及其變體的元表達(dá)式。實(shí)際上,可針對已知存在的不同的基于威脅的計算機(jī)病毒、惡意軟件,蠕蟲、木馬程式、蠅蛆病、侵入(例如,未授權(quán)的訪問)、開發(fā)(例如,特權(quán)升級、違反保密),基于時間的攻擊(例如,拒絕服務(wù))等來重復(fù)處理300,以確定用來識別這些惡意的計算機(jī)指令及其變體的元表達(dá)式。
重要的是,已經(jīng)確定了許多不同的惡意的網(wǎng)絡(luò)活動共用相同的元表達(dá)式。也就是說,兩個不同的關(guān)注的網(wǎng)絡(luò)活動(例如已知計算機(jī)病毒a和已知計算機(jī)病毒b)可共用相同的元表達(dá)式,因此可利用單個元表達(dá)式進(jìn)行檢測。而且,例如,從現(xiàn)有計算機(jī)病毒產(chǎn)生的元表達(dá)式可被用來檢測現(xiàn)有計算機(jī)病毒的所有變體,而不管變體的排列、存儲或特征如何(即,即使變體未知也行)。僅僅完全新類型的計算機(jī)病毒(不是現(xiàn)有計算機(jī)病毒的變體)不能被現(xiàn)有元表達(dá)式檢測出來。按照這樣的方式,少數(shù)元表達(dá)式注意識別出很多(如果不全部)已知計算機(jī)病毒(其數(shù)量介于2.5至8百萬,取決于授權(quán)源)及其變體。
圖11圖示出13示例性元表達(dá)式1100-1112。元表達(dá)式1100-1112的跨度總體小于200(8位)字節(jié),而且可被用來檢測上述現(xiàn)有計算機(jī)病毒的所有變化。該尺寸與防病毒簽名的常用數(shù)據(jù)庫的尺寸(在50mb的數(shù)量級或者更大)成為鮮明對比。這些元表達(dá)式的結(jié)構(gòu)和最小尺寸與傳統(tǒng)計算機(jī)安全技術(shù)相比提供了顯著的計算效率。
3.運(yùn)行
現(xiàn)在討論由處理300提供的元表達(dá)式檢測關(guān)注的網(wǎng)絡(luò)活動的效率。在處理300(在圖1的塊110執(zhí)行的示例性utms訓(xùn)練處理)結(jié)束時,處理進(jìn)入圖1的塊120。在塊120,utms采用元表達(dá)式來分析網(wǎng)絡(luò)傳輸,并檢測網(wǎng)絡(luò)傳輸是正常的還是異常的。塊120的處理開始于對兩個網(wǎng)絡(luò)節(jié)點(diǎn)之間的一系列雙向通信的組合。為此,塊310(圖3)的技術(shù)可被采用。接下來,針對相關(guān)信息來過濾網(wǎng)絡(luò)包的組。為此,塊320(圖3)的技術(shù)可被采用。接下來,形成網(wǎng)絡(luò)傳輸?shù)男陆M的重組包(包含相關(guān)信息)被轉(zhuǎn)換成整數(shù)序列。運(yùn)行期間使用的整數(shù)的位尺寸應(yīng)該與訓(xùn)練期間使用的整數(shù)的位尺寸相同。在一個實(shí)施例中,整數(shù)的尺寸為8位。為了將重組包轉(zhuǎn)換成整數(shù)序列,塊330(圖3)的技術(shù)可被使用。
塊330產(chǎn)生的整數(shù)序列與一個或多個元表達(dá)式比較,以確定正被分析的網(wǎng)絡(luò)傳輸是正常的還是異常的。當(dāng)如下兩個標(biāo)準(zhǔn)被滿足時正被分析的一組網(wǎng)絡(luò)傳輸被認(rèn)為是“異常的”:(i)元表達(dá)式中的每個整數(shù)出現(xiàn)在與該網(wǎng)絡(luò)傳輸對應(yīng)的整數(shù)序列中,以及(ii)每個整數(shù)按照相同的順序出現(xiàn)在相應(yīng)的整數(shù)序列和元表達(dá)式中。注意,網(wǎng)絡(luò)包的組被看作在其中條件(i)不成立的第一距離是正常的。(條件(ii)的不成立沒有那么有用,這是因為整數(shù)序列可具有具體整數(shù)的多個距離,而且所有距離必須不滿足條件(ii)以使得條件(ii)整體不成立)。
當(dāng)檢測到異常通信時,utms跟隨決定塊130至塊140,其中適當(dāng)響應(yīng)被產(chǎn)生。當(dāng)檢測到正常通行時,utms回到塊120并分析附加的網(wǎng)絡(luò)傳輸。參考圖12討論塊120-130。圖12圖示出網(wǎng)絡(luò)包的示例性組1200-1209和示例性元表達(dá)式1210。元表達(dá)式1210可以是訓(xùn)練時創(chuàng)建的元表達(dá)式之一(圖1的塊110)。出于簡潔的目的,元表達(dá)式1210的長度被減短。如所示,網(wǎng)絡(luò)包的組1201、1202和1209包含按照與整數(shù)出現(xiàn)在元表達(dá)式1210中的順序相同的順序的元表達(dá)式1210的所有整數(shù)。因此,網(wǎng)絡(luò)包的組1201、1202和1209被看作是異常的。網(wǎng)絡(luò)包的組1200和1203-1208不包含元表達(dá)式1210的所有依照的順序的整數(shù)。因此,網(wǎng)絡(luò)包的組1200和1203-1208被看作是正常的。
從前面討論可以看出,在塊120,utms執(zhí)行許多整數(shù)比較。因此,整數(shù)比較的優(yōu)化對于utms的效率很重要。如所述,在第一距離(其中與網(wǎng)絡(luò)傳輸對應(yīng)的整數(shù)序列中沒有元表達(dá)式中的整數(shù)),一組網(wǎng)絡(luò)傳輸被認(rèn)為是正常的。因此,如果可做出早期的“正?!迸卸?,則utms的性能被改進(jìn)。為此,有利的是構(gòu)建塊120的技術(shù)以使得一旦來自元表達(dá)式的一個整數(shù)等同于不存在整數(shù)序列中,則即可終止整數(shù)序列和元表達(dá)式之間的整數(shù)比較。
在一個實(shí)施例中,塊120采用嵌套計算機(jī)編程語言表述,其在嵌套等級中的任意一個返回“假”條件時返回“失敗”的整體值(例如,布爾值)。因此,一旦utms識別出整數(shù)的不存在(在任意一個嵌套等級),整體嵌套的計算機(jī)編程語言表述從處理終止。相應(yīng)一組網(wǎng)絡(luò)傳輸因此被識別為是正常的(在該情況下,沒有必要進(jìn)行其它威脅檢測),而且隨后一組網(wǎng)絡(luò)傳輸可被分析。例如,lisp計算機(jī)編程語言能實(shí)現(xiàn)((((a)(b))(c))(d))形式的嵌套表達(dá)式,其返回總值“失敗”,如果任意一個表達(dá)式(a),(b),(c)和/或(d)為“假”。在該示例中,表達(dá)式(a)可詢問元表達(dá)式中的第一整數(shù)是否出現(xiàn)在整數(shù)序列中,而且表達(dá)式(b)可詢問元表達(dá)式中的第二整數(shù)是否出現(xiàn)在整數(shù)序列中,以此類推。
在塊140,適當(dāng)?shù)捻憫?yīng)可被產(chǎn)生。一個適當(dāng)?shù)捻憫?yīng)可以是用戶或系統(tǒng)警告,其表示關(guān)注的網(wǎng)絡(luò)活動的存在。另一適當(dāng)?shù)捻憫?yīng)可以是掩蓋來自受損的網(wǎng)絡(luò)節(jié)點(diǎn)的響應(yīng),由此入侵網(wǎng)絡(luò)節(jié)點(diǎn)保持不知道“成功”入侵。另一適當(dāng)?shù)捻憫?yīng)可以是掩蓋作為入侵目標(biāo)的網(wǎng)絡(luò)節(jié)點(diǎn),由此入侵網(wǎng)絡(luò)節(jié)點(diǎn)不再能夠到達(dá)目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)。
處理100(圖1)的一些部分可在圖13所示的示例性計算系統(tǒng)1300中實(shí)現(xiàn)。在一些實(shí)施例中,計算系統(tǒng)1300是網(wǎng)絡(luò)裝置,例如路由器、網(wǎng)關(guān)和防火墻等。在一些實(shí)施例中,計算系統(tǒng)1300是網(wǎng)關(guān)裝置,例如調(diào)制解調(diào)器等。在一些實(shí)施例中,計算系統(tǒng)1300是移動裝置,例如桌上計算機(jī)、膝上計算機(jī)、手機(jī)、筆記本等。在一些實(shí)施例中,計算系統(tǒng)1300是網(wǎng)絡(luò)接口“卡”。注意,處理100的訓(xùn)練方面(即,塊110)和處理100的運(yùn)行方面(即,塊120-140)可被實(shí)現(xiàn)在相同的或者不同的計算系統(tǒng)上。
如圖13所示,計算系統(tǒng)1300包括計算機(jī)主板1302和將i/o部件1304、一個或多個中央處理單元(cpu)1306和存儲器部件1308連接在一起的總線1310。存儲器部件1308可具有與之有關(guān)的存儲器模塊1320。存儲器模塊1320例如可以是閃存和/或可去除存儲器裝置。i/o部件1304被連接至網(wǎng)絡(luò)接口1312,其接收和/或發(fā)送網(wǎng)絡(luò)包。i/o部件1304可連接至顯示器1314、輸入裝置1316和/或存儲單元1318。存儲器部件1308、存儲器模塊1320和/或存儲單元1322可存儲(例如,可觸知地實(shí)體化)計算機(jī)可讀介質(zhì),該介質(zhì)包含用于利用cpu1306執(zhí)行任意一個上述處理的計算機(jī)可執(zhí)行指令和/或數(shù)據(jù)。可利用例如通用編程語言(例如,lisp,c)或特殊的專用語言編寫計算機(jī)可執(zhí)行指令。輸入裝置1316可以是支持來自usb兼容設(shè)備(例如鍵盤、鼠標(biāo)、存儲棒等)的輸入的usb端口。至少一些基于上述處理的結(jié)果的值可被保存至諸如存儲器1308、存儲器模塊1320和/或盤尺寸單元1318之類的存儲器以備后續(xù)使用。
處理100(圖1)的一些部分也可通過特別布置的集成電路(例如,專用集成電路)而實(shí)現(xiàn)在處理器中。在一些實(shí)施例中,集成電路可以是裝置的主處理器(例如手機(jī)的主處理器)的一部分。在一些實(shí)施例中,集成電路可以是裝置的輔助處理器(例如與桌上電腦的主板相連接的處理器)的一部分。集成電路可包含計算機(jī)可執(zhí)行指令和/或數(shù)據(jù),用于執(zhí)行上述處理中的任意一個。例如可利用專用的(例如,處理器專用)語言來編寫計算機(jī)可執(zhí)行指令。
在一些實(shí)施例中,計算機(jī)可執(zhí)行足以執(zhí)行處理100(圖1)的少于1mb的基于c編程語言的指令。這些計算機(jī)可執(zhí)行指令的執(zhí)行要求不多于300千字節(jié)(16位的字節(jié))的運(yùn)行存儲器(例如,隨機(jī)訪問存儲器)?,F(xiàn)代計算系統(tǒng)和/或處理器能夠很好地處理這些尺寸的計算機(jī)可執(zhí)行指令。實(shí)際上,在這些實(shí)施例中,網(wǎng)絡(luò)接口帶寬(即,輸入帶寬)(不是處理器速度)通常是針對處理更大量的網(wǎng)絡(luò)傳輸?shù)倪x通系數(shù)。
雖然僅僅具體描述了特定示例性實(shí)施例,但是本領(lǐng)域技術(shù)人員很容易理解的是,示例性實(shí)施例中的許多修改是可行的,而不實(shí)際脫離本發(fā)明的新穎指教和優(yōu)勢。此處公開的實(shí)施例的方面可在其它組合中進(jìn)行組合以形成其它實(shí)施例。所有這種修改都落入該技術(shù)的范圍內(nèi)。
對于距離,在一些實(shí)施例中,上述技術(shù)可被用來檢測其它類型的關(guān)注的電子信息。上述技術(shù)的一種特別有用的調(diào)整是檢測醫(yī)學(xué)放射圖像中的有害組織,例如腫瘤。即,示例性處理100可用于支持對計算機(jī)成像系統(tǒng)的計算機(jī)成像中的關(guān)注信息的檢測。
圖14圖示出處理1400,其表示用于檢測放射圖像中的有害組織的處理100的一種可能的調(diào)整。在塊1410,計算機(jī)成像系統(tǒng)被訓(xùn)練成識別放射圖像中與有害組織有關(guān)的特征。具體地,計算機(jī)成像系統(tǒng)可獲取已經(jīng)被醫(yī)生證實(shí)示出了有害組織的不同放射圖像。根據(jù)放射圖像的像素數(shù)據(jù),計算機(jī)成像系統(tǒng)識別出隨后可被用來識別其它未知的(即,還未被醫(yī)生證實(shí)的)放射圖像中的類似有害組織的存在的數(shù)據(jù)的組合序列(即,元表達(dá)式)。
在塊1420,計算機(jī)成像系統(tǒng)獲取未知放射圖像,其可能或者可能沒示出有害組織。計算機(jī)成像系統(tǒng)在塊1430確定未知放射圖像是否包含在塊1410找到的相同的接合的數(shù)據(jù)序列。如果在未知圖像中找到相同的接合數(shù)據(jù)序列,計算機(jī)成像系統(tǒng)在塊1440通知用戶在未知放射圖像中找到有害組織。
圖15圖示出示例性處理1500,用于產(chǎn)生上述元表達(dá)式。在一些實(shí)施例中,處理1500可執(zhí)行塊1410(圖14)的特征。在處理1500的塊1510,從計算機(jī)成像系統(tǒng)創(chuàng)建來自放射圖像的像素數(shù)據(jù),而且從放射圖像創(chuàng)建逐位數(shù)據(jù)的序列。
參考圖16a-b來描述逐位數(shù)據(jù)的序列的示例性創(chuàng)建。圖16a圖示出放射圖像1610,其包含具有有害組織的器官1611。放射圖像1610包括多個像素,包括示例性像素1612。放射圖像1610的每個像素,包括像素1612,可在塊1510(圖15)中處理。
參考圖16b來討論示例性像素1612的處理。在圖16b中,像素1612與其周圍的像素一起以更大尺寸被示出。在處理像素1612期間,虛線1621-1628(每個都從像素1612延伸至放射圖像1610的邊緣)被計算機(jī)成像系統(tǒng)確定。每個虛線與像素1612和放射圖像1610的邊緣之間的大量其它像素交叉。例如,虛線1621起始于像素1612并與像素1613,1614,1615和1616交叉,而虛線1622起始于像素1612而且與大量其它像素交叉。
計算機(jī)成像系統(tǒng)根據(jù)從像素1612輻射的每個虛線創(chuàng)建逐位數(shù)據(jù)的序列。具體地,與虛線相交的每個像素的值被存儲在序列中以形成逐位數(shù)據(jù)的序列。像素的值可表示例如像素的rgb值、像素的透明度,或者可從由計算機(jī)圖像文件提供給放射圖像1610的一些其它元數(shù)據(jù)導(dǎo)出。例如,如果放射圖像1610是每個像素具有16位的灰度顏色深度的png圖像,可基于與虛線1621交叉的像素1612-1616的值(每個16位)創(chuàng)建80位的序列。可基于虛線1622交叉的五個像素來創(chuàng)建另一80位的序列。按照這樣的方式,可針對放射圖像的每個像素來創(chuàng)建逐位數(shù)據(jù)的多個序列。不同位串的長度可根據(jù)像素和正被處理的放射圖像的邊緣之間的距離而變化??舍槍Ψ派鋱D像1610中的每個像素重復(fù)該處理。
在塊1520,塊1510產(chǎn)生的逐位數(shù)據(jù)的序列的內(nèi)容被轉(zhuǎn)換成整數(shù),從而針對逐位數(shù)據(jù)的每個序列產(chǎn)生一個整數(shù)序列。在一個實(shí)施例中,8位整數(shù)被使用,意味著80位的序列被轉(zhuǎn)換成十個8位整數(shù)的序列。在塊1530-1540,距離函數(shù)被用于識別來自塊1520產(chǎn)生的整數(shù)序列的特征。塊1530-1540可利用塊340-350(圖3)的技術(shù)。在塊1550,可用來識別與器官1610(圖16a)中的有害組織類似的有害組織的元表達(dá)式被確定。塊1550可利用塊360(圖3)的技術(shù)。
處理1400(圖14)的一些部分可在圖13所示的示例性計算系統(tǒng)1300中實(shí)現(xiàn)。按照這樣的方式,對于確定放射圖像是否示出了有害組織的元表達(dá)式可被創(chuàng)建,而且可選地,元表達(dá)式可被用來確定放射圖像中的有害組織的存。