摘要:為了避免感染計算機病毒或者包含惡意代碼等不良信息的電子標(biāo)簽對RFID應(yīng)用系統(tǒng)運行效率的影響,采用人工免疫系統(tǒng)的多層過濾機制建立了面向RFID數(shù)據(jù)中不良信息的過濾模型,模型的實施包括數(shù)據(jù)預(yù)處理、多層過濾器的生成與衰亡、過濾器的應(yīng)用及進(jìn)化。實驗結(jié)果表明,該模型有較高的召回率和正確率,這說明了基于人工免疫系統(tǒng)的RFID數(shù)據(jù)過濾模型具有動態(tài)性和自適應(yīng)強的優(yōu)點,并為特定領(lǐng)域的信息分類問題解決提供了參考。
關(guān)鍵詞:無線射頻識別; 人工免疫系統(tǒng); 多層過濾機制; 過濾模型
中圖分類號:TP309
文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2008)06-1776-03
0引言
近幾年來,無線射頻識別(RFID)系統(tǒng)在工業(yè)自動化控制、物流和供應(yīng)鏈管理等領(lǐng)域中得到了廣泛應(yīng)用。目前,大多數(shù)計算機安全專家認(rèn)為RFID芯片的內(nèi)存容量有限,因此對RFID標(biāo)簽會感染及傳播病毒的可能性并不重視;還有一些專家認(rèn)為,讀寫器對RFID標(biāo)簽一掃而過不會更改后臺的應(yīng)用,而且即使有影響也不會是惡意的。但是荷蘭阿姆斯特丹自由大學(xué)的M.R.Rieback等人研究人員稱:“無線電芯片(RFID)不僅威脅隱私,而且易受電腦病毒攻擊”,“RFID標(biāo)簽可能會感染上一種病毒,可傳染與影響后臺數(shù)據(jù)庫,并能輕易地向其他RFID標(biāo)簽傳播”[1];美國Weizmann學(xué)院Adi Shamir教授和他的學(xué)生已能侵入某個RFID標(biāo)簽并開發(fā)出密碼殺手,即一種使標(biāo)簽自毀的代碼[2];加州Menlo Park的SRI研究機構(gòu)Peter Neumann在《電子商務(wù)時報》上發(fā)表觀點:“RFID技術(shù)所需要冒的威脅是多種多樣的,它不單單是一種類型的威脅,這是一個將來會出現(xiàn)的大問題”[3];美國自動識別與移動技術(shù)協(xié)會的主席Daniel P. Mullen表示,采取措施保護(hù)標(biāo)簽中的數(shù)據(jù)已勢在必行[4]。
RFID系統(tǒng)的這種潛在安全問題是業(yè)界討論的熱門話題。當(dāng)前,如何安全有效地過濾出RFID讀寫器所收集到的RFID數(shù)據(jù)中的病毒、檢測出惡意代碼等,是目前RFID行業(yè)需要關(guān)注的重要問題之一。在數(shù)據(jù)過濾方面,人工免疫系統(tǒng)(AIS)具備強大的識別、學(xué)習(xí)和記憶能力,它的自我與非自我識別能力正是RFID數(shù)據(jù)過濾良好而又天然的解決方法[5];另外,人工免疫系統(tǒng)的多層過濾機制[6]更是RFID多層過濾策略的生物再現(xiàn)。本文在人工免疫系統(tǒng)原理基礎(chǔ)上,將人工免疫系統(tǒng)多層過濾機制應(yīng)用于RFID數(shù)據(jù)過濾,建立了針對RFID數(shù)據(jù)中不良信息的過濾模型,有效地剔除RFID數(shù)據(jù)中的不良信息,保證了RFID應(yīng)用系統(tǒng)及其網(wǎng)絡(luò)的安全。
1人工免疫系統(tǒng)
1.1自然免疫系統(tǒng)
自然免疫系統(tǒng)是由多個防御子系統(tǒng)組成的一個多層次、多結(jié)構(gòu)的自適應(yīng)防御體系,它主要包括皮膚(物理屏障)、溫度和pH值(生理屏障)、吞噬細(xì)胞(固有免疫系統(tǒng))、淋巴細(xì)胞(自適應(yīng)性免疫系統(tǒng))等部分。自然免疫系統(tǒng)的主要功能是區(qū)分自我和非自我[7,8]。
自適應(yīng)免疫系統(tǒng)的主要組成部分為T淋巴細(xì)胞和B淋巴細(xì)胞,其運行原理是:首先B細(xì)胞和T細(xì)胞由體內(nèi)特定區(qū)域隨機生成,為防止自體免疫,未成熟T細(xì)胞和B細(xì)胞分別在胸腺和骨髓中被耐受化,經(jīng)陰性選擇[9]而成熟;B細(xì)胞與抗原結(jié)合后被激活,經(jīng)過克隆選擇,以得到與抗原更高親和度的B細(xì)胞,達(dá)到親和度成熟。新B細(xì)胞與病原體抗原結(jié)合成功后,分裂為漿細(xì)胞與記憶B細(xì)胞,漿細(xì)胞分泌抗體來消滅外來病原體;記憶B細(xì)胞使得免疫系統(tǒng)在再次遭受類似病原體入侵時能快速識別并反擊抗原,完成二次免疫應(yīng)答。T淋巴細(xì)胞也分化為兩種:a)協(xié)同細(xì)胞,為B細(xì)胞及其他細(xì)胞提供輔助信號;b)抑制細(xì)胞則用來輔助其他細(xì)胞或直接消滅病原體。
1.2人工免疫系統(tǒng)
人工免疫系統(tǒng)是近些年出現(xiàn)的新型智能系統(tǒng)研究領(lǐng)域,它是基于模擬自然免疫系統(tǒng)主要是人類免疫系統(tǒng)的一定生物系統(tǒng)過程,開發(fā)各種解決工程和科學(xué)問題的方法[10]。AIS主要用于信息分類與求解。在應(yīng)用人工免疫系統(tǒng)進(jìn)行信息分類時,把需要的信息定義為自我,不需要的定義為非自我,系統(tǒng)通過探究自我和非自我的內(nèi)在關(guān)聯(lián)來構(gòu)造過濾器。過濾器最初可隨機產(chǎn)生,然后在自我集合中通過反向選擇的篩選,實現(xiàn)對非自我的識別。除此之外過濾器還要具有記憶功能(類似生物體的B細(xì)胞記憶功能)以便今后的高效判別,同時過濾器的過濾范圍也可變(類似生物體中的細(xì)胞變異)。這樣當(dāng)外部信息進(jìn)入時,由過濾器來識別其是否為非自我,并作出相應(yīng)的處理。
2基于AIS多層檢測機制的RFID數(shù)據(jù)過濾模型
感染計算機病毒或者被注入惡意代碼等不良信息的RFID數(shù)據(jù),可能會對RFID系統(tǒng)及后臺數(shù)據(jù)庫進(jìn)行攻擊。利用AIS在信息處理上的各種優(yōu)勢,將其應(yīng)用到RFID中間件過濾中,本文構(gòu)造一個RFID免疫系統(tǒng)(RFID immune systems,RIS)模型。此模型的任務(wù)就是通過調(diào)節(jié)、變異、學(xué)習(xí)、進(jìn)化,過濾RFID數(shù)據(jù),防止脆弱點或安全漏洞對RFID數(shù)據(jù)的影響以及對其中間件和計算機網(wǎng)絡(luò)的潛在威脅。圖1為RIS模型的設(shè)計框架。
根據(jù)以上思考,本文將模型的設(shè)計流程分為四個階段,即RFID預(yù)處理階段、過濾器的生成階段、過濾器的應(yīng)用階段和過濾器的進(jìn)化階段。該模型的主要實現(xiàn)流程如圖1所示。
2.1RFID預(yù)處理階段
RFID預(yù)處理階段是后面幾個階段的前奏,它將RFID數(shù)據(jù)轉(zhuǎn)換為系統(tǒng)易于處理的格式。將讀取到的RFID數(shù)據(jù),預(yù)處理為三部分:a) (IP)為讀寫器IP地址;b) (ID)為標(biāo)簽ID; c) (content)為內(nèi)容子矢量。內(nèi)容子矢量的處理是一個自然語言的處理過程,主要是分詞處理,即分詞先進(jìn)行語種分類,然后將標(biāo)簽內(nèi)容的屬性值分解為單詞。
2.2多層過濾器的生成與衰亡
考慮到生物免疫系統(tǒng)的工作機制,本文將RIS中的過濾器分為四層:
a)設(shè)為IP過濾器層(IPF)。對應(yīng)于生物免疫系統(tǒng)的物理屏障,采用XML技術(shù)和黑白名單技術(shù),該過濾器由兩部分組成:〈IP,ipFlag〉。其中:IP對應(yīng)黑/白名單列表中的項;ipFlag標(biāo)志過濾器是黑名單還是白名單過濾器。ipFlag為真,則是白名單過濾器中的項;反之,為黑名單過濾器中的項。IPF由黑/白名單列表生成。一個未注冊的讀寫器是通過XML技術(shù),由RFID控制臺注冊,若注冊成功,在黑/白名單中添加一項對應(yīng)該過濾器;同樣也可以通過XML技術(shù)注銷此讀寫器對應(yīng)的過濾器,此時黑/白名單列表中將注銷相應(yīng)的過濾器。
b) ID過濾器層(IDF)。對應(yīng)于生理屏障,采用平滑過濾技術(shù),表示為〈ID,idFlag〉。其中:ID為平滑列表中的項;idFlag用于標(biāo)志為ID的過濾器是否是新注冊的。IDF由平滑列表產(chǎn)生。當(dāng)待過濾標(biāo)簽出現(xiàn)時,如果此標(biāo)簽ID類型在檢測類型之列,則激活I(lǐng)DF過濾器,并利用平滑列表中的過濾器對該標(biāo)簽過濾,如果匹配失敗,則置idFlag的值為假,須先對該標(biāo)簽進(jìn)行注冊后再交由ConF處理;如果匹配成功,則置idFlag為真,直接交由ConF處理。
c) Content過濾器層(ConF)。對應(yīng)于先天免疫層,采用關(guān)鍵詞匹配技術(shù),只包含內(nèi)容子矢量,此子矢量是一個無序的、可變長的數(shù)組,數(shù)組中的元素來自相應(yīng)的脆弱性數(shù)據(jù)庫或者不良信息的關(guān)鍵詞數(shù)據(jù)庫,表示為〈NonContent〉。其中:電子標(biāo)簽數(shù)據(jù)中的content包含不定數(shù)目的屬性,每個屬性值中都可能存在不良數(shù)據(jù)。初始時,將一些有信譽的組織公布的關(guān)鍵詞和表示詞作為基因庫的初始值,也可以通過RFID控制平臺設(shè)置、添加或者刪除基因庫的值,并且每個過濾器被賦予一定的初始重要度,重要度隨時間衰減。基因庫中每個基因有一定的初始權(quán)重,當(dāng)過濾結(jié)果正確時,相應(yīng)基因的權(quán)重增加,每個包含該基因的過濾器的重要度增加;當(dāng)過濾結(jié)果與控制平臺的反饋結(jié)構(gòu)相反時,則刪除包含該基因的過濾器,同時相應(yīng)的基因權(quán)重衰減,當(dāng)衰減到0時刪除該基因,同時刪除所有包含該基因的過濾器。
d) B過濾器層(BF)。對應(yīng)于獲得性免疫層中的B細(xì)胞,采用基于內(nèi)容的RFID數(shù)據(jù)過濾技術(shù),由標(biāo)簽ID和NonContent兩個子矢量組成,表示為〈ID,NonContent〉。與ConF類似,每個子矢量都是一個無序的、可變長的數(shù)組。但待過濾RFID數(shù)據(jù)中的不良信息表示詞(抗原)刺激BF過濾器而產(chǎn)生的新過濾器(抗體)。
多層過濾器中,ConF和BF的設(shè)計,正是為了體現(xiàn)生物免疫系統(tǒng)記憶B細(xì)胞二次免疫應(yīng)答的思想。
2.3過濾器的應(yīng)用階段
對于RFID數(shù)據(jù)C和過濾器R的匹配,本文設(shè)C、R為兩個無序的文本矢量,各自又包含一個或多個文本子矢量,定義C、R的親和度為C和R中每個子矢量之間的親和度的平均值。本系統(tǒng)采用如下親和度的計算公式:
其中:Pi∩Qj表示子矢量Pi和Qj中相同的表示詞(病毒或不良信息)數(shù)目;min(Pi,Qj)表示矢量Pi和Qj中較短的子矢量的長度。由上述公式和計算方法可得親和度的取值范圍為[0,1]。
a)通過IPF過濾器,如果IPF過濾器未被激活,表示此讀寫器未注冊,即在黑/白名單中都不存在;如果IPF過濾器被激活,則根據(jù)ipFlag標(biāo)志決定其后的處理方法。若ipFlag為假,則表明該閱讀器處于黑名單過濾器中,過濾器被屏蔽,此待過濾RFID數(shù)據(jù)被丟棄;若ipFlag為真,系統(tǒng)將試圖激活I(lǐng)DF過濾器。
b)如果IDF過濾器未被激活,表明該標(biāo)簽ID類型被屏蔽,將丟棄該RFID數(shù)據(jù)。如果IDF過濾器被激活,且idFlag為真,交由記憶過濾器過濾;如果記憶過濾器被激活,表示該RFID數(shù)據(jù)內(nèi)容包含與記憶過濾器中親和度較高的不良信息;剔除該RFID數(shù)據(jù)中的不良信息,如果記憶過濾器未被激活,此時應(yīng)交由ConF過濾器做進(jìn)一步的匹配;若idFlag為假,則應(yīng)先將ID添加到記憶過濾器中,然后將其標(biāo)簽內(nèi)容直接交由ConF過濾器過濾。
c) ConF過濾器包含多個子矢量,每個子矢量對應(yīng)一個過濾器。如果ConF過濾器被激活,說明該RFID數(shù)據(jù)內(nèi)容與ConF過濾器中某個或者某幾個過濾器有較高的親和度,剔除該RFID數(shù)據(jù)中的不良信息;如果ConF過濾器未被激活,則交由BF過濾器來處理。
d)如果上面的記憶過濾器和ConF過濾器均未激活,則交由BF過濾器處理。若BF過濾器被激活,將產(chǎn)生新的過濾器(抗體),過濾不良信息。模型過濾流程圖如圖2所示。
2.4過濾器的進(jìn)化階段
生物免疫系統(tǒng)中抗體的種類相對于抗原的種類是很弱小的,生物體通過抗體的動態(tài)進(jìn)化機制和自適應(yīng)學(xué)習(xí)機制來解決該問題。本文的RIS系統(tǒng)中,過濾器進(jìn)化主要是指ConF過濾器和BF過濾器的進(jìn)化,通過體細(xì)胞交叉變異和受體基因重組機制來實現(xiàn) ,如圖3所示。
過濾器的具體進(jìn)化過程如下:
a)待過濾RFID數(shù)據(jù)與記憶過濾器中的過濾器進(jìn)行匹配,如果匹配未成功,即記憶過濾器未被激活,則交由ConF過濾器和BF過濾器組成的過濾器集進(jìn)行處理。
b)根據(jù)上文提出的親和度計算公式,依次計算RFID數(shù)據(jù)的內(nèi)容(包括多個屬性)與過濾器之間的親和度。
c)選擇親和度最高的一個過濾器。
d)同時選擇親和度較高的一組過濾器集,采用體細(xì)胞交叉變異的方法來產(chǎn)生一組新的過濾器;另外采用受體基因重組產(chǎn)生一批新的過濾器,兩類過濾器融合而成新過濾器集。
e)計算RFID數(shù)據(jù)與新過濾器集之間的親和度。如果新過濾器集匹配,則選取其中的最高親和度與c)相比較,具有較高親和度的過濾器加入記憶過濾器。
至此,完成過濾器的進(jìn)化。既此過程完成了記憶過濾器(病毒庫或者不良信息庫)的進(jìn)化,又體現(xiàn)了免疫細(xì)胞的親和度成熟機制,以及自然免疫和獲得性免疫相結(jié)合完成進(jìn)化學(xué)習(xí)的機制。
3實驗分析
實驗中使用記憶過濾器集為包含100個計算機病毒(主要是一些經(jīng)典的DOS病毒、蠕蟲和注入的SQL代碼[1])的過濾器;自我是185個未感染不良信息的RFID數(shù)據(jù),非自我是215個感染了實驗中使用的病毒樣本的RFID數(shù)據(jù);本RFID過濾模型中的抗原集合(待過濾的RFID數(shù)據(jù))是185個自我RFID數(shù)據(jù)(自我)和215個感染了實驗中使用的病毒樣本的RFID數(shù)據(jù)(非自我)。
在讀寫器讀寫RFID數(shù)據(jù)過程中,采用人為修改蠕蟲或者經(jīng)典DOS病毒的二進(jìn)制代碼的方法,產(chǎn)生蠕蟲或者病毒的變種;然后通過2.4節(jié)的過濾器進(jìn)化方法完成對記憶過濾器集的進(jìn)化。用T代表記憶過濾器集樣本的個數(shù);T1表示記憶過濾器集中向量變異之后的增加的樣本;S表示未感染不良信息的RFID數(shù)據(jù);S1表示感染病毒樣本的RFID數(shù)據(jù);S2表示模型進(jìn)化之后能夠識別出感染病毒樣本的RFID數(shù)據(jù)的個數(shù);K表示待過濾的RFID數(shù)據(jù)的總量(S+S1)。該模型的召回率為病毒的剔除率T1/T,正確率為所有待過濾RFID數(shù)據(jù)的檢對率(S+S2)/K。表1是記憶過濾器的進(jìn)化對模型檢測效率的影響。
表1說明,隨著病毒樣本庫中病毒變種數(shù)目的增加,即記憶過濾器集的進(jìn)化,RFID數(shù)據(jù)過濾模型的召回率和正確率在隨之提高,從根本上說明了該模型的進(jìn)化能力。
4結(jié)束語
本文借鑒了生物免疫系統(tǒng)的多層防御機制,提出了一種基于人工免疫多層數(shù)據(jù)過濾機制的RFID數(shù)據(jù)過濾模型。本文中詳細(xì)描述了多層過濾器的定義、生成與消亡方法,親合度計算方法以及各層過濾器的應(yīng)用方法,多層過濾器中ConF過濾器和BF過濾器的進(jìn)化機制。實驗表明:本文所作研究,能有效防范、過濾及處理RFID數(shù)據(jù)中的計算機病毒等不良信息,在某種程度上保證了RFID數(shù)據(jù)以及RFID系統(tǒng)乃至整個計算機網(wǎng)絡(luò)的安全性。同時,人工免疫系統(tǒng)應(yīng)用于RFID數(shù)據(jù)過濾模型有動態(tài)性和自適應(yīng)強的優(yōu)點,為特定領(lǐng)域的信息分類問題提供了一種參考機制。
參考文獻(xiàn):
[1]RIEBACK M R, CRISPO B, TANENHAUM A S. T. Is your cat infected with a computer virus[C]// Proc of the 4th Annual IEEE International Conference on Pervasive Computing and Communications. Washington DC: IEEE Computer Society Press, 2006:169-179.
[2]KHARIF O. What’s lurking in that RFID tag? [EB/OL]. (2006-03-06). http://www.businessweek.com/technology/.
[3]JOHN P, MELLO Jr. RFID virus infections unlikely for now[EB/OL]. (2006-03-15). http://www.ecommercetimes.com/ story/.
[4]MARKOFF J. Study says chips in ID tags are vulnerable to viruses[EB/OL]. (2006-03-15). http://www.nytimes.com/.
[5]FORREST S, PERELSON A S, ALLEN L, et al. Self-nonself discrimination in a computer[C] //Proc of IEEE Symposium on Research in Security and Privacy. Washington DC: IEEE Computer Society Press, l994:202-212.
[6]張澤明,羅文堅,王煦法. 一種基于人工免疫的多層垃圾郵件過濾算法[J]. 電子學(xué)報, 2006, 34(9):1616-1620.
[7]ODA T, WHITE T. Developing an immunity to spam:Lecture Notes in Computer Science[M]. Heidelberg Germany: Springer-Verlag GmbH, 2003:231-242.
[8]莫宏偉. 人工免疫系統(tǒng)原理與應(yīng)用[M]. 哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2002:35-51.
[9]FORREST S, HOFMEYR SA, SOMAYAJI A. Computer immunology[J]. Communications of the ACM,1997,40(10):88-96.
[10]莫宏偉,金鴻章. 人工免疫系統(tǒng)在計算機安全中的應(yīng)用[J]. 哈爾濱工程大學(xué)學(xué)報,2003,24(3):278-282.
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文