本發(fā)明涉及信息與網(wǎng)絡(luò)安全領(lǐng)域,尤其涉及一種堆噴射檢測方法及裝置。
背景技術(shù):
堆噴射(Heap Spray)是一種較易獲得任意代碼執(zhí)行Exploit的技術(shù)手段,其是最常見的安全威脅之一,不同的客戶端發(fā)生堆噴射的腳本不盡相同,針對瀏覽器有VBScript、JavaScript,針對其他客戶端Office、PDF閱讀器可能使用VBA、Flash等。
現(xiàn)有技術(shù)中有一種檢測堆噴射型網(wǎng)頁木馬的方法,該方法首先解析待檢測網(wǎng)頁的腳本,在解析過程中通過掛函數(shù)鉤子監(jiān)測所述待檢測網(wǎng)頁的腳本變量,如果監(jiān)測到所述待檢測網(wǎng)頁的腳本變量的長度超過預(yù)設(shè)的長度閾值,則對所述長度超過預(yù)設(shè)長度閾值的腳本變量的內(nèi)容進行反匯編檢測,如果不能順利反匯編,則繼續(xù)解析所述待檢測網(wǎng)頁的腳本,如果能夠順利反匯編,則認(rèn)為檢測到噴射特性,確定檢測到堆噴射型網(wǎng)頁木馬。但是,該方法的腳本解析模塊只適用于網(wǎng)頁木馬的檢測,通用性差;需要用到反匯編技術(shù),檢測代價高,且由于代碼入口點無法確認(rèn)的問題,難以保證反匯編結(jié)果。現(xiàn)有技術(shù)還提供一種基于內(nèi)存對比的檢測方法檢測堆噴射,但是這種檢測方法速度慢、效率低、消耗資源多、代價大,在實際應(yīng)用和推廣上存在很大的局限性。
因此,有必要提出一種快速高效的堆噴射通用檢測方法對以解決現(xiàn)有技術(shù)中存在的上述問題。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的一個技術(shù)問題是快速、高效、消耗資源少的堆噴射 通用檢測方法。
本發(fā)明提供一種堆噴射檢測方法,包括:采集待檢測對象的基礎(chǔ)信息;根據(jù)待檢測對象的基礎(chǔ)信息,對所述待檢測對象的相鄰待檢測堆進行隨機采樣,如果相鄰待檢測堆的一致性超過第一設(shè)定閾值,則對相鄰待檢測堆進行異或計算;如果相鄰待檢測堆的異或計算結(jié)果為0的比例達到第二設(shè)定閾值,則判斷所述待檢測對象為堆噴射。
進一步地,所述待檢測對象的基礎(chǔ)信息包括堆起始地址、堆長度、堆數(shù)量。
進一步地,所述根據(jù)待檢測對象的基礎(chǔ)信息,對所述待檢測對象的相鄰待檢測堆進行隨機采樣,如果相鄰待檢測堆的一致性超過第一設(shè)定閾值,則對相鄰待檢測堆進行異或計算包括:根據(jù)待檢測對象的基礎(chǔ)信息,分配與所述待檢測對象中的待檢測堆同樣大小的內(nèi)存空間;將待檢測對象的第n個待檢測堆復(fù)制到所述內(nèi)存空間;對待檢測對象中的第n+1個待檢測堆進行隨機采樣;判斷第n+1個待檢測堆中采樣點與所述內(nèi)存空間中第n個待檢測堆中相同位置點的一致性。
進一步地,判斷第n+1個待檢測堆中采樣點與所述內(nèi)存空間中第n個待檢測堆中相同位置點的一致性之后包括:如果第n+1個待檢測堆中的采樣點與第n個待檢測堆中相同位置點的一致性超過第一設(shè)定閾值,將待檢測對象的第n+1個待檢測堆與內(nèi)存空間中的第n個待檢測堆進行異或計算。
進一步地,判斷第n+1個待檢測堆中采樣點與所述內(nèi)存空間中第n個待檢測堆中相同位置點的一致性之后還包括:如果待檢測對象的第n+1個待檢測堆中的采樣點與第n個待檢測堆中相同位置點的一致性不超過第一設(shè)定閾值;則判定第n+1個待檢測堆與第n個待檢測堆不一致,執(zhí)行循環(huán)過程,判斷所述待檢測對象中剩余的相鄰待檢測堆的一致性。
進一步地,通過隨機采樣依次判斷待檢測對象中的所有相鄰待檢測堆的一致性,在相鄰待檢測堆一致性超過第一設(shè)定閾值時進行異或計算,遍歷完所述待檢測對象中的所有待檢測堆之后,判斷異或結(jié)果為0 的比例達到第二設(shè)定閾值,如果異或結(jié)果為0的比例達到第二設(shè)定閾值,則判定發(fā)現(xiàn)堆噴射。
進一步地,如果相鄰待檢測堆的異或結(jié)果為0的比例未達到第二設(shè)定閾值,則判斷所述待檢測對象不是堆噴射。
進一步地,所述第一設(shè)定閾值為80%到95%,所述第二設(shè)定閾值為85%到95%。
本發(fā)明還提供一種堆噴射檢測裝置,包括:采集模塊,用于采集待檢測對象的基礎(chǔ)信息;第一處理模塊,用于根據(jù)待檢測對象的基礎(chǔ)信息,對所述待檢測對象的相鄰待檢測堆進行隨機采樣,如果相鄰待檢測堆的一致性超過第一設(shè)定閾值,則對相鄰待檢測堆進行異或計算;第二處理模塊,用于如果相鄰待檢測堆的異或計算結(jié)果為0的比例達到第二設(shè)定閾值,則判斷所述待檢測對象為堆噴射。
進一步地,所述待檢測對象的基礎(chǔ)信息包括堆起始地址、堆長度、堆數(shù)量。
進一步地,該裝置還包括內(nèi)存分配模塊,用于根據(jù)待檢測對象的基礎(chǔ)信息,分配與所述待檢測對象中的待檢測堆同樣大小的內(nèi)存空間;復(fù)制模塊,用于將待檢測對象的第n個待檢測堆復(fù)制到所述內(nèi)存空間;隨機采樣模塊,用于對待檢測對象中的第n+1個待檢測堆進行隨機采樣。
進一步地,所述第一處理模塊用于判斷第n+1個待檢測堆中采樣點與所述內(nèi)存空間中第n個待檢測堆中相同位置點的一致性。
進一步地,所述第一處理模塊如果第n+1個待檢測堆中的采樣點與第n個待檢測堆中相同位置點的一致性超過第一設(shè)定閾值,將待檢測對象的第n+1個待檢測堆與內(nèi)存空間中的第n個待檢測堆進行異或計算。
進一步地,所述第一處理模塊用于如果待檢測對象的第n+1個待檢測堆中的采樣點與第n個待檢測堆中相同位置點的一致性不超過第一設(shè)定閾值;則判定第n+1個待檢測堆與第n個待檢測堆不一致,執(zhí)行循環(huán)過程,判斷所述待檢測對象中剩余的相鄰待檢測堆的一致性。
進一步地,所述第一處理模塊用于通過隨機采樣依次判斷待檢測對象中的所有相鄰待檢測堆的一致性,在相鄰待檢測堆一致性超過第一設(shè) 定閾值時進行異或計算,遍歷完所述待檢測對象中的所有待檢測堆之后,所述第二處理模塊用于判斷異或結(jié)果為0的比例達到第二設(shè)定閾值,如果異或結(jié)果為0的比例達到第二設(shè)定閾值,則判定發(fā)現(xiàn)堆噴射。
進一步地,所述第二處理模塊用于如果相鄰待檢測堆的異或結(jié)果為0的比例未達到第二設(shè)定閾值,則判斷所述待檢測對象不是堆噴射。
進一步地,所述第一設(shè)定閾值為80%到95%,所述第二設(shè)定閾值為85%到95%。
本發(fā)明提供的堆噴射檢測方法及裝置,在對Heap Spray的特性進行研究和總結(jié)后,提出一種快速通用的檢測方法,利用堆塊對齊方式的特性,對多個堆塊進行異或處理,在盡量保持原有堆熵信息的基礎(chǔ)上,能夠快速檢測判斷是否出現(xiàn)Heap Spray,消耗資源少,錯報漏報率低,通用性好。
附圖說明
圖1示出本發(fā)明一個實施例的堆噴射檢測方法的流程圖。
圖2示出本發(fā)明一個實施例的堆噴射的示意圖。
圖3示出本發(fā)明一個實施例的堆噴射檢測方法的流程示意圖。
圖4示出本發(fā)明一個實施例的堆噴射檢測方法的流程示意簡圖。
圖5示出本發(fā)明一個實施例的一種堆噴射檢測裝置的結(jié)構(gòu)框圖。
圖6示出了本發(fā)明的另一個實施例的一種堆噴射檢測裝置的結(jié)構(gòu)框圖。
具體實施方式
下面參照附圖對本發(fā)明進行更全面的描述,其中說明本發(fā)明的示例性實施例。
圖1示出本發(fā)明一個實施例的堆噴射檢測方法的流程圖。如圖1所示,該方法主要包括:
步驟100,采集待檢測對象的基礎(chǔ)信息。
在一個實施例中,所述待檢測對象的基礎(chǔ)信息包括堆起始地 址、堆長度、堆數(shù)量。
步驟102,根據(jù)待檢測對象的基礎(chǔ)信息,對所述待檢測對象的相鄰待檢測堆進行隨機采樣,如果相鄰待檢測堆的一致性超過第一設(shè)定閾值,則對相鄰待檢測堆進行異或計算。
在一個實施例中,該步驟可以包括:根據(jù)待檢測對象的基礎(chǔ)信息,分配與所述待檢測對象中的待檢測堆同樣大小的內(nèi)存空間;將待檢測對象的第n個待檢測堆復(fù)制到所述內(nèi)存空間;對待檢測對象中的第n+1個待檢測堆進行隨機采樣;判斷第n+1個待檢測堆中采樣點與所述內(nèi)存空間中第n個待檢測堆中相同位置點的一致性。
如果第n+1個待檢測堆中的采樣點與第n個待檢測堆中相同位置點的一致性超過第一設(shè)定閾值,將待檢測對象的第n+1個待檢測堆與內(nèi)存空間中的第n個待檢測堆進行異或計算。
如果待檢測對象的第n+1個待檢測堆中的采樣點與第n個待檢測堆中相同位置點的一致性不超過第一設(shè)定閾值;則判定第n+1個待檢測堆與第n個待檢測堆不一致,執(zhí)行循環(huán)過程,依次判斷第n+2、n+3個待檢測堆,第n+4、n+5個待檢測堆等等一致性,判斷所述待檢測對象中剩余的相鄰待檢測堆的一致性。
步驟104,如果相鄰待檢測堆的異或計算結(jié)果為0的比例達到第二設(shè)定閾值,則判斷所述待檢測對象為堆噴射。
在一個實施例中,通過隨機采樣依次判斷待檢測對象中的所有相鄰待檢測堆的一致性,在相鄰待檢測堆一致性超過第一設(shè)定閾值時進行異或計算,遍歷完所述待檢測對象中的所有待檢測堆或遍歷完一定比例如50%的待檢測堆之后,判斷異或結(jié)果為0的比例達到第二設(shè)定閾值,如果異或結(jié)果為0的比例達到第二設(shè)定閾值,則判定發(fā)現(xiàn)堆噴射。
在一個實施例中,如果相鄰待檢測堆的異或結(jié)果為0的比例未達到第二設(shè)定閾值,則判斷所述待檢測對象不是堆噴射。
在一個實施例中,第一設(shè)定閾值取值范圍可以為80%到95%,也可以大于95%,例如取值為96%、97%等,也可以為80%以下。
在一個實施例中,第二設(shè)定閾值為85%到95%,例如可以取值為 90%。在具體地實施方式中,也可以大于95%,例如取值為96%、97%等,也可以為85%以下。
本發(fā)明上述實施例提供的堆噴射檢測方法,創(chuàng)新性地提出了一種快速Heap Spray通用檢測方法,能有效解決現(xiàn)有技術(shù)手段存在的通用性差、檢測速度慢、資源消耗多、檢測效率低等問題,大大提升了Heap Spray的檢測速度、降低了資源消耗、提高了檢測效率、實現(xiàn)了良好的通用性;并且通用性非常好,不限操作系統(tǒng)、不限應(yīng)用程序、不限腳本類型,適用面廣;實現(xiàn)了不依賴于內(nèi)存比對的檢測技術(shù),更無需采用反匯編技術(shù),特別適合快速檢測;無需對系統(tǒng)硬件進行改造,實現(xiàn)成本較低。
圖2示出本發(fā)明一個實施例的堆噴射的示意圖。參照圖2所示,Heap Spray是在shellcode的前面加上大量的slide code(滑板指令),組成一個注入代碼段。然后向系統(tǒng)申請大量內(nèi)存,并且反復(fù)用注入代碼段來填充。這樣就使得進程的地址空間被大量的注入代碼所占據(jù)。然后結(jié)合其他的漏洞攻擊技術(shù)控制程序流,使得程序執(zhí)行到堆上,最終將導(dǎo)致shellcode的執(zhí)行。如圖2所示,slide code(滑板指令)可以是NOP指令,但是隨著一些新的攻擊技術(shù)的出現(xiàn),逐漸開始使用更多的類NOP指令,譬如0x0C(0x0C0C代表的x86指令是OR AL 0x0C),0x0D等等,不管是NOP還是0C,他們的共同特點就是不會影響shellcode的執(zhí)行。
進行攻擊時,在控制EIP寄存器之前,將shellcode填充在一塊可以預(yù)測的位置,大致過程為分配內(nèi)存塊(NOPs+shellcode)、觸發(fā)漏洞,從EIP寄存器到內(nèi)存塊(NOPs+shellcode)中。每一個內(nèi)存塊都由大量的NOP例如‘0x90’和shellcode組成??刂艵IP后便有很大可能跳至NOPs中,然后便可以滑行至shellcode,這樣便可以進行攻擊。
圖3示出本發(fā)明一個實施例的堆噴射檢測方法的流程示意圖。如圖3所示,該方法包括:
步驟301,對待檢測對象進行基礎(chǔ)信息采集,其中待檢測對象的基礎(chǔ)信息包括起始地址、堆長度、堆數(shù)量。
步驟302,根據(jù)待檢測對象,分配與待檢測對象中堆同樣大小的內(nèi)存空間H。
步驟303,復(fù)制第n個待檢測堆到內(nèi)存空間H,其中,n可以為從0開始的自然數(shù)或者為用戶指定的數(shù)如10。
步驟304,對第n+1待檢測堆進行隨機采樣(hash)。
例如,通過隨機算法指定需要獲取內(nèi)存值的位置,對第n+1待檢測堆指定的位置的內(nèi)存值進行采樣,與第n個待檢測堆相同位置的內(nèi)存值做比較,判斷一致性,實際中也可以通過hash算法判斷一致性。
步驟305,判斷采樣點與內(nèi)存空間中的待檢測堆的一致性是否超過設(shè)定第一閾值,該第一閾值可以為90%,如果第n個待檢測堆與第n+1個待檢測堆的相同位置的內(nèi)存的相似性超過90%,則執(zhí)行步驟306,若判斷結(jié)果為否時,則執(zhí)行步驟307。
步驟307,可以將n賦值為n+2,并執(zhí)行步驟303,此時在執(zhí)行步驟303時,則是復(fù)制第n+2個待檢測堆到內(nèi)存空間。
步驟306,對內(nèi)存空間H中的第n個待檢測堆與當(dāng)前第n+1待檢測堆進行異或運算。
步驟308,異或后的結(jié)果為0的比例是否達到第二設(shè)定閾值。
當(dāng)檢測完待檢測對象設(shè)定比例的待檢測堆或全部待檢測堆之后,判斷異或后結(jié)果0的比例是否超過第二設(shè)定閾值,該第二設(shè)定閾值可以為95%或者80%,如果第n個待檢測堆與第n+1個待檢測堆異或后的結(jié)果為0的個數(shù)超過90%,則確定發(fā)現(xiàn)堆噴射,執(zhí)行步驟309,若判斷結(jié)果為否時,則則確定未發(fā)現(xiàn)堆噴射,執(zhí)行步驟309。
步驟309,向用戶告警,通知用戶發(fā)現(xiàn)堆噴射。
步驟310,通知用戶未發(fā)現(xiàn)堆噴射。
本發(fā)明實施例的堆噴射檢測方法,在對Heap Spray的特性進行研究和總結(jié)后,提出一種快速通用的檢測方法,利用堆塊對齊方式的特性,對多個堆塊進行異或處理,在盡量保持原有堆熵信息的基礎(chǔ)上,能夠快速檢測判斷是否出現(xiàn)Heap Spray,消耗資源少,錯報漏報率低,通用性好。
圖4示出本發(fā)明一個實施例的堆噴射檢測方法的流程示意簡圖。如圖4所示,該方法的主要思想是采集待檢測對象的基礎(chǔ)信息后,通過采樣對比確定相鄰堆的一致性和異或結(jié)果,如果檢測檢測對象后異或結(jié)果為0的比例達到的設(shè)定閾值,則確定發(fā)現(xiàn)攻擊,則進行告警如果未發(fā)現(xiàn)攻擊,則繼續(xù)進行循環(huán)計算,直到檢測完畢或發(fā)現(xiàn)攻擊為止。該方法通用性好,適用于各種系統(tǒng)、程序和腳本,不依賴于內(nèi)存對比和反匯編技術(shù),速度快、效率高。
圖5示出本發(fā)明一個實施例的一種堆噴射檢測裝置的結(jié)構(gòu)框圖,如圖5所示,該裝置500包括,采集模塊501,用于采集待檢測對象的基礎(chǔ)信息;第一處理模塊502,用于根據(jù)待檢測對象的基礎(chǔ)信息,對所述待檢測對象的相鄰待檢測堆進行隨機采樣,如果相鄰待檢測堆的一致性超過第一設(shè)定閾值,則對相鄰待檢測堆進行異或計算;第二處理模塊503,用于如果相鄰待檢測堆的異或計算結(jié)果為0的比例達到第二設(shè)定閾值,則判斷所述待檢測對象為堆噴射。
在一個實施例中,所述待檢測對象的基礎(chǔ)信息包括堆起始地址、堆長度、堆數(shù)量。
參照圖5,在一個實施例中,該裝置500還內(nèi)存分配模塊504,用于根據(jù)待檢測對象的基礎(chǔ)信息,分配與所述待檢測對象中的待檢測堆同樣大小的內(nèi)存空間;復(fù)制模塊505,用于將待檢測對象的第n個待檢測堆復(fù)制到所述內(nèi)存空間;隨機采樣模塊506,用于對待檢測對象中的第n+1個待檢測堆進行隨機采樣;所述第一處理模塊502用于判斷第n+1個待檢測堆中采樣點與所述內(nèi)存空間中第n個待檢測堆中相同位置點的一致性。
在一個實施例中,所述第一處理模塊502如果第n+1個待檢測堆中的采樣點與第n個待檢測堆中相同位置點的一致性超過第一設(shè)定閾值,將待檢測對象的第n+1個待檢測堆與內(nèi)存空間中的第n個待檢測堆進行異或計算。
在一個實施例中,所述第一處理模塊502用于如果待檢測對象的第n+1個待檢測堆中的采樣點與第n個待檢測堆中相同位置點的一致性不 超過第一設(shè)定閾值;則判定第n+1個待檢測堆與第n個待檢測堆不一致,執(zhí)行循環(huán)過程,判斷所述待檢測對象中剩余的相鄰待檢測堆的一致性。
在一個實施例中,所述第一處理模塊502用于通過隨機采樣依次判斷待檢測對象中的所有相鄰待檢測堆的一致性,在相鄰待檢測堆一致性超過第一設(shè)定閾值時進行異或計算,遍歷完所述待檢測對象中的所有待檢測堆之后,所述第二處理模塊503用于判斷異或結(jié)果為0的比例達到第二設(shè)定閾值,如果異或結(jié)果為0的比例達到第二設(shè)定閾值,則判定發(fā)現(xiàn)堆噴射。
在一個實施例中,所述第二處理模塊503用于如果相鄰待檢測堆的異或結(jié)果為0的比例未達到第二設(shè)定閾值,則判斷所述待檢測對象不是堆噴射。
在一個實施例中,所述第一設(shè)定閾值為80%到95%,所述第二設(shè)定閾值為85%到95%。
圖6示出了本發(fā)明的另一個實施例的一種堆噴射檢測裝置的結(jié)構(gòu)框圖。堆噴射檢測裝置600可以是具備計算能力的主機服務(wù)器、個人計算機PC、或者可攜帶的便攜式計算機、移動終端或其他終端等。本發(fā)明具體實施例并不對計算節(jié)點的具體實現(xiàn)做限定。
堆噴射檢測裝置600包括處理器(processor)601、通信接口(Communications Interface)602、存儲器(memory)603和總線604。其中,處理器601、通信接口602、以及存儲器603通過總線604完成相互間的通信。
通信接口602用于與網(wǎng)絡(luò)設(shè)備通信,其中網(wǎng)絡(luò)設(shè)備包括例如虛擬機管理中心、共享存儲等。
處理器601用于執(zhí)行程序。處理器601可以是一個中央處理器CPU,或者可以是專用集成電路ASIC(Application Specific Integrated Circuit),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。
存儲器603用于存放文件。存儲器603可以包含高速RAM存儲器,也可還包括非易失性存儲器(non-volatile memory),例如至少一個 磁盤存儲器。存儲器603也可以是存儲器陣列。存儲器603還可能被分塊,并且塊可按一定的規(guī)則組合成虛擬卷。
在一種實施方式中,上述程序可為包括計算機操作指令的程序代碼。該程序具體可用于:采集待檢測對象的基礎(chǔ)信息;根據(jù)待檢測對象的基礎(chǔ)信息,對所述待檢測對象的相鄰待檢測堆進行隨機采樣,如果相鄰待檢測堆的一致性超過第一設(shè)定閾值,則對相鄰待檢測堆進行異或計算;如果相鄰待檢測堆的異或計算結(jié)果為0的比例達到第二設(shè)定閾值,則判斷所述待檢測對象為堆噴射。
在一種實施方式中,所述待檢測對象的基礎(chǔ)信息包括堆起始地址、堆長度、堆數(shù)量。
在一種實施方式中,所述根據(jù)待檢測對象的基礎(chǔ)信息,對所述待檢測對象的相鄰待檢測堆進行隨機采樣,如果相鄰待檢測堆的一致性超過第一設(shè)定閾值,則對相鄰待檢測堆進行異或計算包括:根據(jù)待檢測對象的基礎(chǔ)信息,分配與所述待檢測對象中的待檢測堆同樣大小的內(nèi)存空間;將待檢測對象的第n個待檢測堆復(fù)制到所述內(nèi)存空間;對待檢測對象中的第n+1個待檢測堆進行隨機采樣;判斷第n+1個待檢測堆中采樣點與所述內(nèi)存空間中第n個待檢測堆中相同位置點的一致性。
在一種實施方式中,判斷第n+1個待檢測堆中采樣點與所述內(nèi)存空間中第n個待檢測堆中相同位置點的一致性之后包括:如果第n+1個待檢測堆中的采樣點與第n個待檢測堆中相同位置點的一致性超過第一設(shè)定閾值,將待檢測對象的第n+1個待檢測堆與內(nèi)存空間中的第n個待檢測堆進行異或計算。
在一種實施方式中,判斷第n+1個待檢測堆中采樣點與所述內(nèi)存空間中第n個待檢測堆中相同位置點的一致性之后還包括:如果待檢測對象的第n+1個待檢測堆中的采樣點與第n個待檢測堆中相同位置點的一致性不超過第一設(shè)定閾值;則判定第n+1個待檢測堆與第n個待檢測堆不一致,執(zhí)行循環(huán)過程,判斷所述待檢測對象中剩余的相鄰待檢測堆的一致性。
在一種實施方式中,通過隨機采樣依次判斷待檢測對象中的所有相 鄰待檢測堆的一致性,在相鄰待檢測堆一致性超過第一設(shè)定閾值時進行異或計算,遍歷完所述待檢測對象中的所有待檢測堆之后,判斷異或結(jié)果為0的比例達到第二設(shè)定閾值,如果異或結(jié)果為0的比例達到第二設(shè)定閾值,則判定發(fā)現(xiàn)堆噴射。
在一種實施方式中,如果相鄰待檢測堆的異或結(jié)果為0的比例未達到第二設(shè)定閾值,則判斷所述待檢測對象不是堆噴射。
本領(lǐng)域普通技術(shù)人員可以意識到,本文所描述的實施例中的各示例性單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件形式來實現(xiàn),取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以針對特定的應(yīng)用選擇不同的方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
如果以計算機軟件的形式來實現(xiàn)功能并作為獨立的產(chǎn)品銷售或使用時,則在一定程度上可認(rèn)為本發(fā)明的技術(shù)方案的全部或部分(例如對現(xiàn)有技術(shù)做出貢獻的部分)是以計算機軟件產(chǎn)品的形式體現(xiàn)的。該計算機軟件產(chǎn)品通常存儲在計算機可讀取的非易失性存儲介質(zhì)中,包括若干指令用以使得計算機設(shè)備(可以是個人計算機、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各實施例方法的全部或部分步驟。而前述的存儲介質(zhì)包括U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對于本領(lǐng)域的普通技術(shù)人員而言是顯然的。選擇和描述實施例是為了更好說明本發(fā)明的原理和實際應(yīng)用,并且使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明從而設(shè)計適于特定用途的帶有各種修改的各種實施例。