專利名稱::防電腦病毒擴(kuò)散的控制器及其存儲(chǔ)系統(tǒng)與方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種控制器,尤其涉及一種能夠防自動(dòng)執(zhí)行型病毒擴(kuò)散的控制器、存儲(chǔ)系統(tǒng)以及防自動(dòng)執(zhí)行型病毒擴(kuò)散方法。
背景技術(shù):
:數(shù)碼相機(jī)、手機(jī)與MP3在這幾年來(lái)的成長(zhǎng)十分迅速,使得消費(fèi)者對(duì)可攜式存儲(chǔ)媒體的需求也急速增加。例如,隨身碟就是一種以NAND閃存作為存儲(chǔ)媒體的可攜式存儲(chǔ)裝置。隨著可攜式存儲(chǔ)裝置的使用越來(lái)越普及,近來(lái)發(fā)現(xiàn)越來(lái)越多電腦病毒會(huì)主動(dòng)感染隨身碟。以隨身碟為例,只要當(dāng)主機(jī)插上受電腦病毒感染的隨身碟后,主機(jī)本身也會(huì)跟著中毒,造成嚴(yán)重的災(zāi)害。隨身碟所感染的電腦病毒與一般電腦病毒類似,只是此種類型的電腦病毒通常是改寫(xiě)自動(dòng)執(zhí)行檔(Autorim.inf)的內(nèi)容,并當(dāng)隨身碟插入至電腦時(shí),藉由電腦自動(dòng)地執(zhí)行自動(dòng)執(zhí)行檔中的內(nèi)容而將隱藏于隨身碟中的電腦病毒感染至主機(jī)。一旦電腦主機(jī)感染病毒后,電腦病毒就會(huì)常駐在電腦主機(jī)的操作系統(tǒng)的處理程序中,并會(huì)偵測(cè)事件記錄器,從中得知目前電腦主機(jī)的運(yùn)行情況。之后,當(dāng)電腦主機(jī)再外接其他隨身碟時(shí),系統(tǒng)就會(huì)自動(dòng)通知事件記錄器改變的情況,而電腦病毒也會(huì)從事件記錄器,得知已經(jīng)連接隨身碟,并嘗試將電腦病毒數(shù)據(jù)寫(xiě)入到所連接的隨身碟中。由于,隨身碟一般都會(huì)被使用者設(shè)定為可讀寫(xiě)模式,因此電腦病毒就能順利寫(xiě)入所連接的隨身碟中修改自動(dòng)執(zhí)行檔及寫(xiě)入相關(guān)病毒程序?;谏鲜?,盡管可攜式存儲(chǔ)裝置已被廣泛用于使用者之間的數(shù)字內(nèi)容交換,但也導(dǎo)致此類型的電腦病毒快速傳播,而造成連鎖的感染。
發(fā)明內(nèi)容本發(fā)明提供一種控制器,其能夠避免存儲(chǔ)媒體中的電腦病毒擴(kuò)散至電腦主機(jī)。本發(fā)明提供一種具防電腦病毒擴(kuò)散功能的存儲(chǔ)系統(tǒng),其能夠避免存儲(chǔ)媒體中的電腦病毒擴(kuò)散至電腦主機(jī)。本發(fā)明提供一種防電腦病毒擴(kuò)散方法,其能夠避免存儲(chǔ)媒體中的電腦病毒擴(kuò)散至電腦主機(jī)。本發(fā)明一實(shí)施例提出一種控制器,其包括微處理器單元、第一接口單元、第二接口單元和數(shù)據(jù)管理單元。第一接口單元電性連接至微處理器單元,并且用以連接存儲(chǔ)媒體。第二接口單元電性連接至微處理器單元并且用以連接電腦主機(jī)。數(shù)據(jù)管理單元電性連接至微處理器單元,并且用以當(dāng)電腦主機(jī)欲從存儲(chǔ)媒體中讀取的數(shù)據(jù)為自動(dòng)執(zhí)行檔時(shí),將預(yù)設(shè)數(shù)據(jù)傳送給電腦主機(jī)以取代電腦主機(jī)從存儲(chǔ)媒體中讀取的數(shù)據(jù)。本發(fā)明另一實(shí)施例提出一種具防電腦病毒擴(kuò)散功能的存儲(chǔ)系統(tǒng),其包括控制器、連接器、存儲(chǔ)媒體和數(shù)據(jù)管理單元。連接器電性連接至控制器,用以連接具有一操作系統(tǒng)的一電腦主機(jī)。存儲(chǔ)媒體電性連接至控制器,用以存儲(chǔ)電腦主機(jī)欲寫(xiě)入的數(shù)據(jù)。數(shù)據(jù)管理單元,用以當(dāng)電腦主機(jī)欲從存儲(chǔ)媒體中讀取的數(shù)據(jù)為自動(dòng)執(zhí)行檔時(shí),將預(yù)設(shè)數(shù)據(jù)傳送給電腦主機(jī)以取代電腦主機(jī)從存儲(chǔ)媒體中讀取的數(shù)據(jù)。本發(fā)明又一實(shí)施例提出一種防電腦病毒擴(kuò)散方法,其包括提供一存儲(chǔ)裝置,并連接至一電腦主機(jī),其中電腦主機(jī)具有一操作系統(tǒng)。此防電腦病毒擴(kuò)散方法還包括判斷操作系統(tǒng)從存儲(chǔ)裝置中所讀取的數(shù)據(jù)是否為一自動(dòng)執(zhí)行檔,以及當(dāng)操作系統(tǒng)從存儲(chǔ)裝置中所讀取的數(shù)據(jù)為自動(dòng)執(zhí)行檔時(shí)傳送一預(yù)設(shè)數(shù)據(jù)給操作系統(tǒng)以取代操作系統(tǒng)從存儲(chǔ)裝置中讀取的數(shù)據(jù)?;谏鲜?,本發(fā)明能夠避免電腦主機(jī)執(zhí)行已受電腦病毒改寫(xiě)的自動(dòng)執(zhí)行檔,由此防止電腦病毒繼續(xù)擴(kuò)散。為讓本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合附圖作詳細(xì)說(shuō)明如下。S301、S303、S305、S307掃描自動(dòng)執(zhí)行檔的步驟;S501、S503、S505、S507防電腦病毒擴(kuò)散的步驟;S701、S703、S705、S707防電腦病毒擴(kuò)散的步驟。具體實(shí)施例方式本發(fā)明實(shí)施例所提出的防電腦病毒擴(kuò)散方法是辨識(shí)電腦主機(jī)的操作系統(tǒng)從存儲(chǔ)裝置中所讀取的數(shù)據(jù)是否為自動(dòng)執(zhí)行檔,并且當(dāng)所讀取的數(shù)據(jù)為自動(dòng)執(zhí)行檔時(shí),則傳送一預(yù)設(shè)數(shù)據(jù)給操作系統(tǒng),以防止電腦病毒經(jīng)由自動(dòng)執(zhí)行檔的執(zhí)行而感染電腦主機(jī)的操作系統(tǒng)。以下將配合附圖詳細(xì)說(shuō)明本發(fā)明的實(shí)施例。第一實(shí)施例圖1所示為本發(fā)明第一實(shí)施例的存儲(chǔ)系統(tǒng)的概要方塊圖。如圖1所示,存儲(chǔ)裝置100是與電腦主機(jī)200連接,以使電腦主機(jī)200可將數(shù)據(jù)寫(xiě)入至存儲(chǔ)裝置100或從存儲(chǔ)裝置100中讀取數(shù)據(jù)。在本實(shí)施例中,存儲(chǔ)裝置100為一閃存存儲(chǔ)裝置,例如,隨身碟、記憶卡或固態(tài)硬盤(pán)(SolidStateDrive,SSD)。但必須了解的是,在本發(fā)明另一實(shí)施例中存儲(chǔ)裝置100亦可以是隨身硬盤(pán)(harddisk,HDD)。存儲(chǔ)裝置100包括控制器110、存儲(chǔ)媒體120與連接器130??刂破?10會(huì)執(zhí)行以硬件型式或固件型式實(shí)現(xiàn)的多個(gè)邏輯閘或機(jī)械指令以配合連接器130與存儲(chǔ)媒體120來(lái)進(jìn)行數(shù)據(jù)的寫(xiě)入、讀取與抹除等運(yùn)行。特別是,控制器110會(huì)辨識(shí)電腦主機(jī)200欲讀取的數(shù)據(jù)是否為自動(dòng)執(zhí)行檔(Autorim.inf),并且當(dāng)電腦主機(jī)200欲讀取的數(shù)據(jù)為自動(dòng)執(zhí)行檔時(shí),則傳送一預(yù)設(shè)數(shù)據(jù)給電腦主機(jī)200以取代所讀取的數(shù)據(jù)??刂破?10的運(yùn)行將于以下配合附圖作詳細(xì)說(shuō)明。存儲(chǔ)媒體120電性連接至控制器110,并且用以在控制器110的操作下存儲(chǔ)數(shù)據(jù)。在本實(shí)施例中,存儲(chǔ)媒體120為多層記憶胞(MultiLevelCell,MLC)NAND閃存。然而,必須了解的是,本發(fā)明不限于此。在本發(fā)明另一實(shí)施例中,單層記憶胞(SingleLevelCell,SLONAND閃存或磁盤(pán)(disk)亦可應(yīng)用于本發(fā)明。連接器130電性連接至控制器110并且用以通過(guò)總線300連接電腦主機(jī)200。在本實(shí)施例中,連接器130為USB連接器。然而,必須了解的是本發(fā)明不限于此,連接器130亦可以是SATA連接器、IEEE1394連接器、PCIExpress連接器、MS連接器、MMC連接器、SD連接器、CF連接器、IDE連接器或其他適合的連接器。圖2所示為圖1的控制器的概要方塊圖。如圖2所示,控制器110包括微處理器單元202、第一接口單元204、第二接口單元206、掃描單元208以及數(shù)據(jù)管理單元220。微處理器單元202用以控制控制器110的整體運(yùn)行。也就是說(shuō),控制器110內(nèi)所有組件的運(yùn)行都是由微處理器單元202來(lái)控制。第一接口單元204包括第一接口控制器單元204a以及電性連接至第一接口控制器單元204a的第一接口實(shí)體層單元204b,其中第一接口實(shí)體層單元204b是用以連接至存儲(chǔ)媒體120,而第一接口控制器單元204a用以處理傳送至存儲(chǔ)媒體120的數(shù)據(jù)或識(shí)別從存儲(chǔ)媒體120所接收的數(shù)據(jù)。也就是說(shuō),欲寫(xiě)入至存儲(chǔ)媒體120的數(shù)據(jù)會(huì)經(jīng)由第一接口單元204轉(zhuǎn)換為存儲(chǔ)媒體120所能接受的格式。例如,在本實(shí)施例中,第一接口單元204為一閃存接口。值得一提的是,在本發(fā)明另一實(shí)施例中,當(dāng)存儲(chǔ)媒體120為磁盤(pán)時(shí),第一接口單元204則為一磁盤(pán)接口。第二接口單元206包括第二接口控制器單元206a以及電性連接至第二接口控制器單元206a的第二接口實(shí)體層單元206b,其中第二接口實(shí)體層單元206b是用以電性連接至連接器130以連接電腦主機(jī)200,而第二接口控制器單元206a用以處理傳送至電腦主機(jī)200或從電腦主機(jī)200所接收的數(shù)據(jù)。也就是說(shuō),電腦主機(jī)200所傳送的指令與數(shù)據(jù)會(huì)通過(guò)第二接口單元206來(lái)傳送至微處理器單元202。在本實(shí)施例中,第二接口單元206符合USB接口標(biāo)準(zhǔn)。然而,必須了解的是本發(fā)明不限于此,第二接口單元206亦可以是SATA接口標(biāo)準(zhǔn)、IEEE1394接口標(biāo)準(zhǔn)、PCIExpress接口標(biāo)準(zhǔn)、MS接口標(biāo)準(zhǔn)、MMC接口標(biāo)準(zhǔn)、SD接口標(biāo)準(zhǔn)、CF接口標(biāo)準(zhǔn)、IDE接口標(biāo)準(zhǔn)或其他適合的數(shù)據(jù)傳輸接口標(biāo)準(zhǔn)。掃描單元208電性連接至微處理器單元202并且用以搜尋存儲(chǔ)媒體120中所存儲(chǔ)的自動(dòng)執(zhí)行檔。具體來(lái)說(shuō),每當(dāng)存儲(chǔ)裝置100電性連接至電腦主機(jī)200而初始化后,掃描單元208會(huì)掃描存儲(chǔ)媒體120的磁盤(pán)存取區(qū)的檔案配置表(fileallocationtable,FAT),并且依據(jù)檔案配置表判斷存儲(chǔ)自動(dòng)執(zhí)行檔的地址并且此地址記錄為一標(biāo)記地址。例如,掃描單元208會(huì)在一地址清單中記錄所判斷的標(biāo)記地址。圖3所示為本實(shí)施例記錄標(biāo)記地址的流程圖。如圖3所示,當(dāng)存儲(chǔ)裝置100電性連接至電腦主機(jī)200時(shí),首先在步驟S301中存儲(chǔ)裝置100會(huì)被初始化。之后,在步驟S303中掃描單元208會(huì)搜尋自動(dòng)執(zhí)行檔,并且在步驟S305中會(huì)判斷是否搜尋到自動(dòng)執(zhí)行檔,其中倘若搜尋到自動(dòng)執(zhí)行檔時(shí),則在步驟S307中會(huì)標(biāo)記存儲(chǔ)自動(dòng)執(zhí)行檔的地址。如圖2所示,數(shù)據(jù)管理單元220電性連接至微處理器單元202,并且具有比對(duì)單元210與過(guò)濾單元212。比對(duì)單元210是用以判斷電腦主機(jī)200所讀取的數(shù)據(jù)是否為自動(dòng)執(zhí)行檔。具體來(lái)說(shuō),比對(duì)單元210會(huì)判斷電腦主機(jī)200所存取的地址是否為掃描單元208所記錄的標(biāo)記地址,其中倘若電腦主機(jī)200所存取的地址為掃描單元208所記錄的標(biāo)記地址時(shí),則比對(duì)單元210會(huì)判斷電腦主機(jī)200所讀取的數(shù)據(jù)為自動(dòng)執(zhí)行檔。過(guò)濾單元212電性連接至比對(duì)單元210并且用以當(dāng)比對(duì)單元210判斷電腦主機(jī)200所讀取的數(shù)據(jù)為自動(dòng)執(zhí)行檔時(shí)以一預(yù)設(shè)數(shù)據(jù)取代自動(dòng)執(zhí)行檔。具體來(lái)說(shuō),由于自動(dòng)執(zhí)行檔可能存有已被電腦病毒修改的風(fēng)險(xiǎn),因此當(dāng)比對(duì)單元210判斷電腦主機(jī)200所讀取的數(shù)據(jù)為自動(dòng)執(zhí)行檔時(shí)過(guò)濾單元212會(huì)傳送預(yù)設(shè)的預(yù)設(shè)數(shù)據(jù)給電腦主機(jī)200,以使得電腦主機(jī)200讀取此預(yù)設(shè)數(shù)據(jù)時(shí)不會(huì)執(zhí)行任何動(dòng)作,由此避免電腦主機(jī)200因執(zhí)行自動(dòng)執(zhí)行檔而感染電腦病毒。例如,在本實(shí)施例中是以內(nèi)容為「Open=」(即,Open后面是等于空白,換句話說(shuō)是在Open后面不填任何東西來(lái)讓主機(jī)系統(tǒng)不動(dòng)作)的檔案作為上述預(yù)設(shè)數(shù)據(jù)。此外,在本發(fā)明另一實(shí)施例中,上述預(yù)設(shè)數(shù)據(jù)亦可以是特定信息長(zhǎng)度的一隨機(jī)數(shù)值或一固定值。在本發(fā)明另一實(shí)施例中,控制器110還包括啟閉單元214。啟閉單元214電性連接至微處理器單元202并且用以開(kāi)啟或關(guān)閉數(shù)據(jù)管理單元220。具體來(lái)說(shuō),當(dāng)存儲(chǔ)裝置100的使用者欲使用防電腦病毒擴(kuò)散功能時(shí),微處理器單元202會(huì)指示啟閉單元214開(kāi)啟數(shù)據(jù)管理單元220,而不執(zhí)行存儲(chǔ)媒體120中的自動(dòng)執(zhí)行檔。反之,當(dāng)存儲(chǔ)裝置100的使用者不使用防電腦病毒擴(kuò)散功能時(shí),微處理器單元202會(huì)指示啟閉單元214關(guān)閉數(shù)據(jù)管理單元220,而執(zhí)行存儲(chǔ)媒體120中的自動(dòng)執(zhí)行檔。值得一提的是,如上所述,盡管掃描單元208、比對(duì)單元210、過(guò)濾單元212與啟閉單元214是以一硬件型式實(shí)現(xiàn)在控制器110中,然而本發(fā)明不限于此。在另一實(shí)施例中,掃描單元208、比對(duì)單元210、過(guò)濾單元212與啟閉單元214可以是以一固件型式實(shí)現(xiàn)在控制器110中。例如,將完成掃描單元208、比對(duì)單元210、過(guò)濾單元212與啟閉單元214的功能的多個(gè)程序燒錄至一程序存儲(chǔ)器(例如,只讀存儲(chǔ)器(ReadOnlyMemory,ROM))中并且將此程序存儲(chǔ)器嵌入在控制器110中,當(dāng)存儲(chǔ)裝置100運(yùn)行時(shí),所述程序會(huì)由微處理器單元202來(lái)執(zhí)行以完成本發(fā)明實(shí)施例的防電腦病毒擴(kuò)散機(jī)制。在本發(fā)明另一實(shí)施例中,完成掃描單元208、比對(duì)單元210、過(guò)濾單元212與啟閉單元214的功能的多個(gè)程序亦可以軟件型式存儲(chǔ)于存儲(chǔ)媒體120的特定區(qū)域(例如,閃存或磁盤(pán)中專用于存放系統(tǒng)數(shù)據(jù)的系統(tǒng)區(qū))中。同樣的,當(dāng)存儲(chǔ)裝置100運(yùn)行時(shí),這些程序會(huì)由微處理器單元202來(lái)執(zhí)行。此外,在本發(fā)明另一實(shí)施例中,控制器亦可包括其他電路單元。圖4所示為本發(fā)明另一實(shí)施例的控制器的方塊圖。如圖4所示,除了上述微處理器單元202、第一接口單元204、第二接口單元206、掃描單元208、比對(duì)單元210、過(guò)濾單元212與啟閉單元214之外,控制器110’還包括光罩式只讀存儲(chǔ)器(MaskROM)402、程序隨機(jī)存取存儲(chǔ)器(ProgramRandomAccessMemory)404、安全弓丨擎(SecurityEngine)單兀406、錯(cuò)誤校正(ErrorCheckingandCorrecting,ECC)單元408與緩沖存儲(chǔ)器410,其中,光罩式只讀存儲(chǔ)器402與程序隨機(jī)存取存儲(chǔ)器404是通過(guò)多工器(MUX)422電性連接至微處理器單元202,而緩沖存儲(chǔ)器410是通過(guò)仲裁器(Arbiter)424電性連接至微處理器單元202,并且掃描單元208、比對(duì)單元210、過(guò)濾單元212與啟閉單元214是通過(guò)仲裁器426連接至微處理器單元202。光罩式只讀存儲(chǔ)器402是用以存儲(chǔ)用于控制器110的信息或程序代碼,特別是,這些信息或程序代碼是不允許被更改的。程序隨機(jī)存取存儲(chǔ)器404是用以暫時(shí)地存放微處理器單元202所正執(zhí)行的固件碼。具體來(lái)說(shuō),由于程序隨機(jī)存取存儲(chǔ)器的運(yùn)行速度較快,因此將微處理器單元202所正執(zhí)行的固件碼先載入至程序隨機(jī)存取存儲(chǔ)器404可提升控制器110的運(yùn)行效率。例如,在以固件或軟件型式實(shí)現(xiàn)掃描單元208、比對(duì)單元210、過(guò)濾單元212與啟閉單元214的例子中,在存儲(chǔ)裝置100初始化時(shí),完成這些單元的功能的程序會(huì)被載入至程序隨機(jī)存取存儲(chǔ)器404后,再由微處理器單元202來(lái)執(zhí)行。安全引擎單元406電性連接至微處理器單元202并且用以加解密寫(xiě)入至存儲(chǔ)媒體120中的數(shù)據(jù),以確保數(shù)據(jù)的可靠性。錯(cuò)誤校正單元408電性連接至微處理器單元202并且用以依據(jù)電腦主機(jī)200欲寫(xiě)入至存儲(chǔ)媒體120的數(shù)據(jù)產(chǎn)生錯(cuò)誤校正碼(ErrorCorrectingCode),并且在電腦主機(jī)200欲從讀取存儲(chǔ)媒體120中讀取數(shù)據(jù)時(shí)依據(jù)所產(chǎn)生的錯(cuò)誤校正碼執(zhí)行一錯(cuò)誤校正程序以確保數(shù)據(jù)的正確性。緩沖存儲(chǔ)器410用以暫存電腦主機(jī)200欲寫(xiě)入至存儲(chǔ)媒體120的數(shù)據(jù)或電腦主機(jī)200欲從讀取存儲(chǔ)媒體120中讀取的數(shù)據(jù)。緩沖存儲(chǔ)器410為靜態(tài)隨機(jī)存取存儲(chǔ)器(StaticRandomAccessmemory,SRAM)。然而,必須了解的是,本發(fā)明不限于此,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DynamicRandomAccessmemory,DRAM)、磁阻式存儲(chǔ)器(MagnetoresistiveRandomAccessMemory,MRAM)、相變化存儲(chǔ)器(PhaseChangeRandomAccessMemory,PRAM)、單層記憶胞(SingleLevelCell,SLC)NAND閃存或其他適合的存儲(chǔ)器亦可應(yīng)用于本發(fā)明?;谏鲜黾軜?gòu),根據(jù)本實(shí)施例的存儲(chǔ)裝置100可防止自動(dòng)執(zhí)行檔型電腦病毒的擴(kuò)散。圖5所示為本發(fā)明第一實(shí)施例的防電腦病毒擴(kuò)散步驟的流程圖。如圖5所示,在存儲(chǔ)裝置100執(zhí)行圖3的步驟而初始化后,當(dāng)存儲(chǔ)裝置100從電腦主機(jī)200中接收到讀取指令時(shí),首先,在步驟S501中會(huì)判斷防電腦病毒擴(kuò)散功能是否有開(kāi)啟(即,數(shù)據(jù)管理單元220是否動(dòng)作)。倘若防電腦病毒擴(kuò)散功能未開(kāi)啟時(shí),則在步驟S503中會(huì)依據(jù)所接收的讀取指令從存儲(chǔ)媒體120中讀取數(shù)據(jù)并傳送給電腦主機(jī)200。倘若防電腦病毒擴(kuò)散功能已開(kāi)啟時(shí),則在步驟S505中會(huì)判斷讀取指令中的讀取地址是否為上述標(biāo)記地址。倘若讀取指令中的讀取地址不是上述標(biāo)記地址時(shí),則執(zhí)行步驟S503。反之,倘若讀取指令中的讀取地址為上述標(biāo)記地址時(shí),則在步驟S507中會(huì)以上述預(yù)設(shè)數(shù)據(jù)取代所讀取的數(shù)據(jù)并且將此預(yù)設(shè)數(shù)據(jù)傳送至電腦主機(jī)200。第二實(shí)施例圖6所示為本發(fā)明第二實(shí)施例的存儲(chǔ)系統(tǒng)的方塊圖。存儲(chǔ)系統(tǒng)包括存儲(chǔ)裝置600與存儲(chǔ)裝置驅(qū)動(dòng)程序640。存儲(chǔ)裝置600包括控制器610、存儲(chǔ)媒體620、連接器630??刂破?10是執(zhí)行以硬件型式或固件型式實(shí)現(xiàn)的多個(gè)邏輯閘或機(jī)械指令以配合連接器630與存儲(chǔ)媒體620來(lái)進(jìn)行數(shù)據(jù)的寫(xiě)入、讀取與抹除等運(yùn)行。存儲(chǔ)媒體620電性連接至控制器610,并且用以在控制器610的操作下存儲(chǔ)數(shù)據(jù)。在本實(shí)施例中,存儲(chǔ)媒體620為多層記憶胞(MultiLevelCell,MLC)NAND閃存。然而,必須了解的是,本發(fā)明不限于此。在本發(fā)明另一實(shí)施例中,單層記憶胞(SingleLevelCell,SLC)NAND閃存或磁盤(pán)(disk)亦可應(yīng)用于本發(fā)明。連接器630電性連接至控制器610并且用以通過(guò)總線900連接電腦主機(jī)700。在本實(shí)施例中,連接器630為USB連接器。然而,必須了解的是本發(fā)明不限于此,連接器630亦可以是SATA連接器、IEEE1394連接器、PCIExpress連接器、MS連接器、MMC連接器、SD連接器、CF連接器、IDE連接器或其他適合的連接器。存儲(chǔ)裝置驅(qū)動(dòng)程序640是安裝在電腦主機(jī)700的操作系統(tǒng)710中,并且可由使用者自行執(zhí)行或直接掛載在操作系統(tǒng)710中。存儲(chǔ)裝置驅(qū)動(dòng)程序640會(huì)依據(jù)操作系統(tǒng)710的指令向存儲(chǔ)裝置600提出請(qǐng)求。特別是,存儲(chǔ)裝置驅(qū)動(dòng)程序640包括高階驅(qū)動(dòng)程序650與低階驅(qū)動(dòng)程序660,其中當(dāng)操作系統(tǒng)710從存儲(chǔ)裝置600中讀取數(shù)據(jù)時(shí),低階驅(qū)動(dòng)程序660會(huì)搜集這些以扇區(qū)為單位所傳送的數(shù)據(jù),而高階驅(qū)動(dòng)程序650會(huì)處理所搜集的數(shù)據(jù)。具體來(lái)說(shuō),高階驅(qū)動(dòng)程序650包括具有比對(duì)單元652與過(guò)濾單元654的數(shù)據(jù)管理單元以及啟閉單元656。比對(duì)單元652是用以判斷操作系統(tǒng)710所讀取的數(shù)據(jù)是否為自動(dòng)執(zhí)行檔。過(guò)濾單元654是用以當(dāng)比對(duì)單元652判斷操作系統(tǒng)710所讀取的數(shù)據(jù)為自動(dòng)執(zhí)行檔時(shí)以一預(yù)設(shè)數(shù)據(jù)取代自動(dòng)執(zhí)行檔。例如,以內(nèi)容為“0”的檔案作為此預(yù)設(shè)數(shù)據(jù)。此外,在本發(fā)明另一實(shí)施例中,上述預(yù)設(shè)數(shù)據(jù)亦可以是特定信息長(zhǎng)度的一隨機(jī)數(shù)值或一固定值。啟閉單元656是用以開(kāi)啟或關(guān)閉比對(duì)單元652與過(guò)濾單元654。基于上述架構(gòu),根據(jù)本實(shí)施例的存儲(chǔ)系統(tǒng)可防止自動(dòng)執(zhí)行檔型電腦病毒的擴(kuò)散。圖7所示為本發(fā)明第二實(shí)施例的防電腦病毒擴(kuò)散步驟的流程圖。如圖7所示,當(dāng)從存儲(chǔ)裝置600中接收到數(shù)據(jù)時(shí),首先,在步驟S701中會(huì)判斷防電腦病毒擴(kuò)散功能是否有開(kāi)啟(即,啟閉單元656是否已開(kāi)啟比對(duì)單元652與過(guò)濾單元654)。倘若防電腦病毒擴(kuò)散功能未開(kāi)啟時(shí),則在步驟S703中存儲(chǔ)裝置驅(qū)動(dòng)程序640會(huì)將從存儲(chǔ)裝置600中接收到的數(shù)據(jù)傳送給操作系統(tǒng)710。倘若防電腦病毒擴(kuò)散功能已開(kāi)啟時(shí),則在步驟S705中比對(duì)單元652會(huì)判斷所讀取的數(shù)據(jù)是否為自動(dòng)執(zhí)行檔。倘若所讀取的數(shù)據(jù)不為自動(dòng)執(zhí)行檔時(shí),則執(zhí)行步驟S703。反之,所讀取的數(shù)據(jù)為自動(dòng)執(zhí)行檔時(shí),則在步驟S707中過(guò)濾單元654會(huì)以預(yù)設(shè)數(shù)據(jù)取代所讀取的數(shù)據(jù)并且將預(yù)設(shè)數(shù)據(jù)傳送給操作系統(tǒng)710。第三實(shí)施例值得一提的是,在上述第二實(shí)施例中是在存儲(chǔ)裝置驅(qū)動(dòng)程序中實(shí)現(xiàn)比對(duì)單元、過(guò)濾單元與啟閉單元,然而本發(fā)明不限于此,在另一實(shí)施例中,比對(duì)單元、過(guò)濾單元與啟閉單元亦可以采用掛鉤應(yīng)用程序(HookApplication)來(lái)實(shí)現(xiàn)。圖8所示為本發(fā)明第三實(shí)施例的存儲(chǔ)系統(tǒng)的方塊圖。如圖8所示,存儲(chǔ)系統(tǒng)包括存儲(chǔ)裝置600與掛鉤應(yīng)用程序810。存儲(chǔ)裝置600的結(jié)構(gòu)已描述如上,在此不重復(fù)描述。掛鉤應(yīng)用程序810是一種窗口操作系統(tǒng)的應(yīng)用程序。窗口操作系統(tǒng)是以事件來(lái)觸發(fā)對(duì)應(yīng)的動(dòng)作,而掛鉤應(yīng)用程序810可攔截事件所傳送的信息,并且進(jìn)行對(duì)應(yīng)的處理。掛鉤應(yīng)用程序810可由使用者自行執(zhí)行或直接掛載在操作系統(tǒng)710的掛鉤鏈(HookChain)中。掛鉤應(yīng)用程序810包括具有比對(duì)單元812與過(guò)濾單元814的數(shù)據(jù)管理單元以及啟閉單元816。比對(duì)單元812是用以判斷操作系統(tǒng)710所讀取的數(shù)據(jù)是否為自動(dòng)執(zhí)行檔。過(guò)濾單元814是用以當(dāng)比對(duì)單元812判斷操作系統(tǒng)710所讀取的數(shù)據(jù)為自動(dòng)執(zhí)行檔時(shí)以一預(yù)設(shè)數(shù)據(jù)取代自動(dòng)執(zhí)行檔。例如,以內(nèi)容為“0”的檔案作為此預(yù)設(shè)數(shù)據(jù)。此外,在本發(fā)明另一實(shí)施例中,上述預(yù)設(shè)數(shù)據(jù)亦可以是特定信息長(zhǎng)度的一隨機(jī)數(shù)值或一固定值。啟閉單元816是用以開(kāi)啟或關(guān)閉比對(duì)單元812與過(guò)濾單元814。必須了解的是,本實(shí)施例的防電腦病毒擴(kuò)散步驟是類似于圖7的流程圖,在此不再重復(fù)說(shuō)明。綜上所述,本發(fā)明實(shí)施例所提出的存儲(chǔ)系統(tǒng)會(huì)過(guò)濾電腦主機(jī)所讀取的數(shù)據(jù)是否為自動(dòng)執(zhí)行檔,并且當(dāng)所讀取的數(shù)據(jù)為自動(dòng)執(zhí)行檔時(shí),以預(yù)設(shè)數(shù)據(jù)取代自動(dòng)執(zhí)行檔來(lái)傳送給電腦主機(jī),由此防止被電腦病毒改寫(xiě)的自動(dòng)執(zhí)行檔傳送至電腦主機(jī)而散布此電腦病毒。雖然本發(fā)明已以實(shí)施例揭露如上,然其并非用以限定本發(fā)明,任何所屬
技術(shù)領(lǐng)域:
中具有通常知識(shí)者,在不脫離本發(fā)明的精神和范圍內(nèi),可作些許更改與潤(rùn)飾,故本發(fā)明的保護(hù)范圍可以根據(jù)上述權(quán)利要求所界定的范圍為準(zhǔn)。權(quán)利要求一種控制器,其特征在于,包括一微處理器單元;一第一接口單元,電性連接至該微處理器單元,用以連接一存儲(chǔ)媒體;一第二接口單元,電性連接至該微處理器單元,用以連接一電腦主機(jī);以及一數(shù)據(jù)管理單元,電性連接至該微處理器單元,用以當(dāng)該電腦主機(jī)欲從該存儲(chǔ)媒體中讀取的數(shù)據(jù)為一自動(dòng)執(zhí)行檔時(shí),將一預(yù)設(shè)數(shù)據(jù)傳送給該電腦主機(jī)以取代該電腦主機(jī)從該存儲(chǔ)媒體中讀取的數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的控制器,其特征在于,該數(shù)據(jù)管理單元包括一比對(duì)單元,電性連接至該微處理單元,用以判斷該電腦主機(jī)從該存儲(chǔ)媒體中讀取的數(shù)據(jù)是否為該自動(dòng)執(zhí)行檔;以及一過(guò)濾單元,電性連接至該比對(duì)單元,用以當(dāng)該比對(duì)單元判斷該電腦主機(jī)從該存儲(chǔ)媒體中讀取的數(shù)據(jù)為該自動(dòng)執(zhí)行檔時(shí),將該預(yù)設(shè)數(shù)據(jù)傳送給該電腦主機(jī)以取代該電腦主機(jī)從該存儲(chǔ)媒體中讀取的數(shù)據(jù)。3.根據(jù)權(quán)利要求1所述的控制器,其特征在于,該存儲(chǔ)媒體為一閃存且該第一接口單元為一閃存接口單元。4.根據(jù)權(quán)利要求1所述的控制器,其特征在于,還包括一啟閉單元,電性連接至該微處理器單元并且用以開(kāi)啟或關(guān)閉該數(shù)據(jù)管理單元。5.根據(jù)權(quán)利要求1所述的控制器,其特征在于,還包括一掃描單元,電性連接至該微處理器單元并且用以依據(jù)存儲(chǔ)在該存儲(chǔ)媒體中的一檔案配置表對(duì)該存儲(chǔ)媒體搜尋該自動(dòng)執(zhí)行檔,其中該掃描單元會(huì)記錄在該存儲(chǔ)媒體中存儲(chǔ)該自動(dòng)執(zhí)行檔的一標(biāo)記地址。6.根據(jù)權(quán)利要求5所述的控制器,其特征在于,該數(shù)據(jù)管理單元根據(jù)該標(biāo)記地址來(lái)判斷該電腦主機(jī)從該存儲(chǔ)媒體中讀取的數(shù)據(jù)是否為該自動(dòng)執(zhí)行檔。7.根據(jù)權(quán)利要求1所述的控制器,其特征在于,該預(yù)設(shè)數(shù)據(jù)為特定信息長(zhǎng)度的一隨機(jī)數(shù)值或一固定值。8.一種具防電腦病毒擴(kuò)散功能的存儲(chǔ)系統(tǒng),其特征在于,包括一控制器;一連接器,電性連接至該控制器,用以連接具有一操作系統(tǒng)的一電腦主機(jī);一存儲(chǔ)媒體,電性連接至該控制器,用以在該控制器的控制下存儲(chǔ)該電腦主機(jī)欲寫(xiě)入的數(shù)據(jù);以及一數(shù)據(jù)管理單元,用以當(dāng)該電腦主機(jī)欲從該存儲(chǔ)媒體中讀取的數(shù)據(jù)為一自動(dòng)執(zhí)行檔時(shí),將一預(yù)設(shè)數(shù)據(jù)傳送給該電腦主機(jī)以取代該電腦主機(jī)從該存儲(chǔ)媒體中讀取的數(shù)據(jù)。9.根據(jù)權(quán)利要求8所述的具防電腦病毒擴(kuò)散功能的存儲(chǔ)系統(tǒng),其特征在于,該數(shù)據(jù)管理單元配置在該控制器中。10.根據(jù)權(quán)利要求8所述的具防電腦病毒擴(kuò)散功能的存儲(chǔ)系統(tǒng),其特征在于,該數(shù)據(jù)管理單元配置在該電腦主機(jī)中。11.根據(jù)權(quán)利要求10所述的具防電腦病毒擴(kuò)散功能的存儲(chǔ)系統(tǒng),其特征在于,該數(shù)據(jù)管理單元包括一比對(duì)單元,用以判斷該電腦主機(jī)從該存儲(chǔ)媒體中讀取的數(shù)據(jù)是否為該自動(dòng)執(zhí)行檔;以及一過(guò)濾單元,用以當(dāng)該比對(duì)單元判斷該電腦主機(jī)從該存儲(chǔ)媒體中讀取的數(shù)據(jù)為該自動(dòng)執(zhí)行檔時(shí)傳送該預(yù)設(shè)數(shù)據(jù)給該電腦主機(jī)以取代該電腦主機(jī)從該存儲(chǔ)媒體中讀取的數(shù)據(jù)。12.根據(jù)權(quán)利要求8所述的具防電腦病毒擴(kuò)散功能的存儲(chǔ)系統(tǒng),其特征在于,該存儲(chǔ)媒體包括一閃存或一磁盤(pán)。13.根據(jù)權(quán)利要求10所述的具防電腦病毒擴(kuò)散功能的存儲(chǔ)系統(tǒng),其特征在于,還包括一啟閉單元,電性連接至該數(shù)據(jù)管理單元并且用以開(kāi)啟或關(guān)閉該數(shù)據(jù)管理單元。14.根據(jù)權(quán)利要求10所述的具防電腦病毒擴(kuò)散功能的存儲(chǔ)系統(tǒng),其特征在于,該數(shù)據(jù)管理單元為一存儲(chǔ)裝置驅(qū)動(dòng)程序的一高階驅(qū)動(dòng)程序。15.根據(jù)權(quán)利要求14所述的具防電腦病毒擴(kuò)散功能的存儲(chǔ)系統(tǒng),其特征在于,該存儲(chǔ)裝置驅(qū)動(dòng)程序還包括一低階驅(qū)動(dòng)程序,用以搜集該電腦主機(jī)從該存儲(chǔ)媒體中讀取的數(shù)據(jù),并且將所搜集的數(shù)據(jù)傳送給該高階驅(qū)動(dòng)程序。16.根據(jù)權(quán)利要求10所述的具防電腦病毒擴(kuò)散功能的存儲(chǔ)系統(tǒng),其特征在于,該數(shù)據(jù)管理單元為一掛鉤應(yīng)用程序。17.一種防電腦病毒擴(kuò)散方法,其特征在于,包括提供一存儲(chǔ)裝置,并連接至一電腦主機(jī),其中該電腦主機(jī)具有一操作系統(tǒng);判斷該操作系統(tǒng)從該存儲(chǔ)裝置中讀取的數(shù)據(jù)是否為一自動(dòng)執(zhí)行檔;以及當(dāng)該操作系統(tǒng)從該存儲(chǔ)裝置中讀取的數(shù)據(jù)為該自動(dòng)執(zhí)行檔時(shí)將一預(yù)設(shè)數(shù)據(jù)傳送給該操作系統(tǒng)以取代該操作系統(tǒng)從該存儲(chǔ)裝置中讀取的數(shù)據(jù)。18.根據(jù)權(quán)利要求17所述的防電腦病毒擴(kuò)散方法,其特征在于,還包括依據(jù)存儲(chǔ)在該存儲(chǔ)裝置中的一檔案配置表對(duì)該存儲(chǔ)裝置搜尋該自動(dòng)執(zhí)行檔;以及當(dāng)搜尋到該自動(dòng)執(zhí)行檔時(shí),記錄存儲(chǔ)該自動(dòng)執(zhí)行檔的一標(biāo)記地址。19.根據(jù)權(quán)利要求18所述的防電腦病毒擴(kuò)散方法,其特征在于,判斷該操作系統(tǒng)是否從該存儲(chǔ)裝置中讀取該自動(dòng)執(zhí)行檔的步驟包括判斷該操作系統(tǒng)是否從該標(biāo)記地址中讀取數(shù)據(jù);以及當(dāng)該操作系統(tǒng)是從該標(biāo)記地址中讀取數(shù)據(jù)時(shí),則判斷該操作系統(tǒng)從該存儲(chǔ)裝置中讀取的數(shù)據(jù)為該自動(dòng)執(zhí)行檔。20.根據(jù)權(quán)利要求17所述的防電腦病毒擴(kuò)散方法,其特征在于,判斷該操作系統(tǒng)是否從該存儲(chǔ)裝置中讀取該自動(dòng)執(zhí)行檔的步驟包括由配置在該操作系統(tǒng)中且用以驅(qū)動(dòng)該存儲(chǔ)裝置的一存儲(chǔ)裝置驅(qū)動(dòng)程序來(lái)識(shí)別該操作系統(tǒng)從該存儲(chǔ)裝置中讀取的數(shù)據(jù)是否為該自動(dòng)執(zhí)行檔。21.根據(jù)權(quán)利要求17所述的防電腦病毒擴(kuò)散方法,其特征在于,判斷該操作系統(tǒng)是否從該存儲(chǔ)裝置中讀取該自動(dòng)執(zhí)行檔的步驟包括由配置在該操作系統(tǒng)中的一掛鉤應(yīng)用程序攔截該操作系統(tǒng)從該存儲(chǔ)裝置中讀取的數(shù)據(jù);以及判斷該操作系統(tǒng)所讀取的數(shù)據(jù)是否為該自動(dòng)執(zhí)行檔。22.根據(jù)權(quán)利要求17所述的防電腦病毒擴(kuò)散方法,其特征在于,該預(yù)設(shè)數(shù)據(jù)為特定信息長(zhǎng)度的一隨機(jī)數(shù)值或一固定值。全文摘要本發(fā)明公開(kāi)了一種防電腦病毒擴(kuò)散的控制器及其存儲(chǔ)系統(tǒng)與方法,其中控制器包括微處理器單元、第一接口單元、第二接口單元、比對(duì)單元以及過(guò)濾單元。第一接口單元是電性連接至微處理器單元,并且用以連接存儲(chǔ)媒體。第二接口單元是電性連接至微處理器單元并且用以連接電腦主機(jī)。比對(duì)單元是電性連接至微處理單元,并且用以判斷電腦主機(jī)從存儲(chǔ)媒體中讀取的數(shù)據(jù)是否為一自動(dòng)執(zhí)行檔。過(guò)濾單元是電性連接至微處理器單元,并且當(dāng)比對(duì)單元判斷電腦主機(jī)讀取的數(shù)據(jù)為自動(dòng)執(zhí)行檔時(shí)以一預(yù)設(shè)數(shù)據(jù)取代所讀取的數(shù)據(jù)來(lái)傳送給電腦主機(jī)?;?,控制器能夠防止自動(dòng)執(zhí)行檔型的電腦病毒擴(kuò)散。文檔編號(hào)G06F21/00GK101887495SQ20091014078公開(kāi)日2010年11月17日申請(qǐng)日期2009年5月15日優(yōu)先權(quán)日2009年5月15日發(fā)明者吳明洲,李乾輔,楊俊勇申請(qǐng)人:群聯(lián)電子股份有限公司