TWI396994B - 防電腦病毒擴散的控制器及其儲存系統與方法 - Google Patents
防電腦病毒擴散的控制器及其儲存系統與方法 Download PDFInfo
- Publication number
- TWI396994B TWI396994B TW98114877A TW98114877A TWI396994B TW I396994 B TWI396994 B TW I396994B TW 98114877 A TW98114877 A TW 98114877A TW 98114877 A TW98114877 A TW 98114877A TW I396994 B TWI396994 B TW I396994B
- Authority
- TW
- Taiwan
- Prior art keywords
- unit
- data
- computer
- storage medium
- automatic execution
- Prior art date
Links
- 241000700605 Viruses Species 0.000 title claims description 61
- 238000013523 data management Methods 0.000 claims description 33
- 238000009792 diffusion process Methods 0.000 claims description 31
- 230000002155 anti-virotic effect Effects 0.000 claims description 22
- 238000001914 filtration Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 22
- 238000000034 method Methods 0.000 claims description 6
- 239000000463 material Substances 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000012937 correction Methods 0.000 description 6
- 230000007480 spreading Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/80—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Virology (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Description
本發明是有關於一種控制器,且特別是有關於一種能夠防自動執行型病毒擴散的控制器、儲存系統以及防自動執行型病毒擴散方法。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對可攜式儲存媒體的需求也急速增加。例如,隨身碟就是一種以NAND快閃記憶體作為儲存媒體的可攜式儲存裝置。
隨著可攜式儲存裝置的使用越來越普及,近來發現越來越多電腦病毒會主動感染隨身碟。以隨身碟為例,只要當主機插上受電腦病毒感染的隨身碟後,主機本身也會跟著中毒,造成嚴重的災害。隨身碟所感染的電腦病毒與一般電腦病毒類似,只是此種類型的電腦病毒通常是改寫自動執行檔(Autorun.inf)的內容,並當隨身碟插入至電腦時,藉由電腦自動地執行自動執行檔中的內容而將隱藏於隨身碟中的電腦病毒感染至主機。
一旦電腦主機感染病毒後,電腦病毒就會常駐在電腦主機之作業系統的處理程序中,並會偵測事件記錄器,從中得知目前電腦主機的運作情況。之後,當電腦主機再外接其他隨身碟時,系統就會自動通知事件記錄器改變的情況,而電腦病毒也會從事件記錄器,得知已經連接隨身碟,並嘗試將電腦病毒資料寫入到所連接之隨身碟中。由於,隨身碟一般都會被使用者是設定為可讀寫模式,因此電腦病毒就能順利寫入在所連接之隨身碟中修改自動執行檔及寫入相關病毒程式。
基於上述,儘管可攜式儲存裝置已被廣泛用於使用者之間的數位內容交換,但也導致此類型的電腦病毒快速傳播,而造成連鎖的感染。
本發明提供一種控制器,其能夠避免儲存媒體中的電腦病毒擴散至電腦主機。
本發明提供一種儲存系統,其能夠避免儲存媒體中的電腦病毒擴散至電腦主機。
本發明提供一種防電腦病毒擴散方法,其能夠避免儲存媒體中的電腦病毒擴散至電腦主機。
本發明一範例實施例提出一種控制器,其包括微處理器單元、第一介面單元、第二介面單元和資料管理單元。。第一介面單元是耦接至微處理器單元,並且用以連接儲存媒體。第二介面單元是耦接至微處理器單元並且用以連接電腦主機。資料管理單元耦接至微處理器單元,並且用以當電腦主機欲從儲存媒體中讀取的資料為自動執行檔時,將預設資料傳送給電腦主機以取代電腦主機從儲存媒體中讀取的資料。
在本發明之一實施例中,資料管理單元包括比對單元以及過濾單元。比對單元是用以判斷電腦主機從儲存媒體中讀取的資料是否為一自動執行檔。過濾單元是耦接至比對單元,並且當比對單元判斷電腦主機從儲存媒體中讀取的資料為自動執行檔時將一預設資料傳送給電腦主機以取代電腦主機從儲存媒體中所讀取的資料。
在本發明之一實施例中,上述之儲存媒體為快閃記憶體且第一介面單元為快閃記憶體介面單元。
在本發明之一實施例中,上述之控制器更包括一啟閉單元,耦接至微處理器單元並且用以開啟或關閉上述之資料管理單元。
在本發明之一實施例中,上述之控制器,更包括掃描單元,耦接至微處理器單元並且用以依據儲存在儲存媒體中的一檔案配置表對儲存媒體搜尋上述之自動執行檔,其中掃描單元會記錄在儲存媒體中儲存此自動執行檔的標記位址。
在本發明之一實施例中,上述之資料管理單元根據所記錄的標記位址來判斷電腦主機從儲存媒體中讀取的資料是否為上述之自動執行檔。
在本發明之一實施例中,上述之預設資料為特定訊息長度的一亂數值或一固定值。
本發明一範例實施例提出一種具防電腦病毒擴散功能的儲存系統,其包括控制器、連接器、儲存媒體和資料管理單元。連接器是耦接至控制器,用以連接具有一作業系統的一電腦主機。儲存媒體是耦接至控制器,用以儲存電腦主機欲寫入的資料。資料管理單元,用以當電腦主機欲從儲存媒體中讀取的資料為自動執行檔時,將預設資料傳送給電腦主機以取代電腦主機從儲存媒體中讀取的資料。
在本發明之一實施例中,上述之資料管理單元係配置在該控制器中。
在本發明之一實施例中,上述之資料管理單元係配置在該電腦主機中。
在本發明之一實施例中,上述之儲存媒體包括快閃記憶體或磁盤。
在本發明之一實施例中,上述之具防電腦病毒擴散功能的儲存系統更包括一啟閉單元,耦接至資料管理單元並且用以開啟或關閉資料管理單元。
在本發明之一實施例中,上述之資料管理單元為一儲存裝置驅動程式的一高階驅動程式。
在本發明之一實施例中,上述之儲存裝置驅動程式更包括一低階驅動程式,用以蒐集電腦主機從儲存媒體中讀取的資料,並且將所蒐集的資料傳送給高階驅動程式。
在本發明之一實施例中,上述之資料管理單元為一掛鉤應用程式。
本發明一範例實施例提出一種防電腦病毒擴散方法,其包括提供一儲存裝置,並耦接至一電腦主機,其中電腦主機具有一作業系統。此防電腦病毒擴散方法還包括判斷作業系統從儲存裝置中所讀取的資料是否為一自動執行檔,以及當作業系統從儲存裝置中所讀取的資料為自動執行檔時傳送一預設資料給作業系統以取代作業系統從儲存裝置中讀取的資料。
在本發明之一實施例中,上述之防電腦病毒擴散方法更包括依據儲存在儲存裝置中的一檔案配置表對儲存裝置中搜尋上述之自動執行檔,並且當搜尋到上述之自動執行檔時記錄儲存此自動執行檔的一標記位址。
在本發明之一實施例中,上述之判斷該作業系統是否從儲存裝置中讀取自動執行檔的步驟包括:判斷作業系統是否從所記錄之標記位址中讀取資料,以及當作業系統是從所記錄的標記位址中讀取資料時,則判斷作業系統從儲存裝置中讀取的資料為上述之自動執行檔。
在本發明之一實施例中,上述之判斷作業系統是否從儲存裝置中讀取自動執行檔的步驟包括:由配置在作業系統中且用以驅動儲存裝置的一儲存裝置驅動程式來識別作業系統從儲存裝置中讀取的資料是否為自動執行檔。
在本發明之一實施例中,上述之判斷作業系統是否從儲存裝置中讀取自動執行檔的步驟包括:由配置在作業系統中的一掛鉤應用程式攔截作業系統從儲存裝置中讀取的資料,並且判斷作業系統從儲存裝置中讀取的資料是否為上述之自動執行檔。
基於上述,本發明能夠避免電腦主機執行已受電腦病毒改寫的自動執行檔,由此防止電腦病毒繼續擴散。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
本範例實施例所提出的防電腦病毒擴散方法是辨識電腦主機的作業系統從儲存裝置中所讀取的資料是否為自動執行檔,並且當所讀取的資料為自動執行檔時,則傳送一預設資料給作業系統,以防止電腦病毒經由自動執行檔的執行而感染電腦主機的作業系統。以下將配合圖式詳細說明本發明的範例實施例。
圖1是根據本發明第一範例實施例所繪示的儲存系統的概要方塊圖。
請參照圖1,儲存裝置100是與電腦主機200連接,以使電腦主機200可將資料寫入至儲存裝置100或從儲存裝置100中讀取資料。在本範例實施例中,儲存裝置100為一快閃記憶體儲存裝置,例如,隨身碟、記憶卡或固態硬碟(Solid State Drive,SSD)。但必須瞭解的是,在本發明另一實施例中儲存裝置100亦可以是隨身硬碟(hard disk,HDD)。
儲存裝置100包括控制器110、儲存媒體120與連接器130。
控制器110會執行以硬體型式或韌體型式實作的多個邏輯閘或機械指令以配合連接器130與儲存媒體120來進行資料的寫入、讀取與抹除等運作。特別是,控制器110會辨識電腦主機200欲讀取的資料是否自動執行檔(Autorun.inf),並且當電腦主機200欲讀取的資料為自動執行檔時,則傳送一預設資料給電腦主機200以取代所讀取的資料。控制器110的運作將於以下配合圖式作詳細說明。
儲存媒體120是耦接至控制器110,並且用以在控制器110的操作下儲存資料。在本範例實施中,儲存媒體120為多層記憶胞(Multi Level Cell,MLC)NAND快閃記憶體。然而,必須瞭解的是,本發明不限於此。在本發明另一範例實施例中,單層記憶胞(Single Level Cell,SLC)NAND快閃記憶體或磁盤(disk)亦可應用於本發明。
連接器130是耦接至控制器110並且用以透過匯流排300連接電腦主機200。在本範例實施例中,連接器130為USB連接器。然而,必須瞭解的是本發明不限於此,連接器130亦可以是SATA連接器、IEEE 1394連接器、PCI Express連接器、MS連接器、MMC連接器、SD連接器、CF連接器、IDE連接器或其他適合的連接器。
圖2是繪示圖1的控制器的概要方塊圖。
請參照圖2,控制器110包括微處理器單元202、第一介面單元204、第二介面單元206、掃描單元208以及資料管理單元220。
微處理器單元202用以控制控制器110的整體運作。也就是說,控制器110內所有組件的運作都是由微處理器單元202來控制。
第一介面單元204包括第一介面控制器單元204a以及耦接至第一介面控制器單元204a的第一介面實體層單元204b,其中第一介面實體層單元204b是用以耦接至儲存媒體120,而第一介面控制器單元204a用以處理傳送至儲存媒體120的資料或識別從儲存媒體120所接收的資料。也就是說,欲寫入至儲存媒體120的資料會經由第一介面單元204轉換為儲存媒體120所能接受的格式。例如,在本範例實施例中,第一介面單元204為一快閃記憶體介面。值得一提的是,在本發明另一範例實施例中,當儲存媒體120為磁盤時,第一介面單元204則為一磁盤介面。
第二介面單元206包括第二介面控制器單元206a以及耦接至第二介面控制器單元206a的第二介面實體層單元206b,其中第二介面實體層單元206b是用以耦接至連接器130以連接電腦主機200,而第二介面控制器單元206a用以處理傳送至電腦主機200或從電腦主機200所接收的資料。也就是說,電腦主機200所傳送的指令與資料會透過第二介面單元206來傳送至微處理器單元202。在本範例實施例中,第二介面單元206是符合為USB介面標準。然而,必須瞭解的是本發明不限於此,第二介面單元206亦可以是SATA介面標準、IEEE 1394介面標準、PCI Express介面標準、MS介面標準、MMC介面標準、SD介面標準、CF介面標準、IDE介面標準或其他適合的資料傳輸介面標準。
掃描單元208是耦接至微處理器單元202並且用以搜尋儲存媒體120中所儲存的自動執行檔。具體來說,每當儲存裝置100電性連接至電腦主機200而初始化後,掃描單元208會掃描儲存媒體120之磁碟存取區的檔案配置表(file allocation table,FAT),並且依據檔案配置表判斷儲存自動執行檔的位址並且此位址記錄為一標記位址。例如,掃描單元208會在一位址清單中記錄所判斷的標記位址。
圖3是根據本範例實施例所繪示的記錄標記位址的流程圖。
請參照圖3,當儲存裝置100電性連接至電腦主機200時,首先在步驟S301中儲存裝置100會被初始化。之後,在步驟S303中掃描單元208會搜尋自動執行檔,並且在步驟S305中會判斷是否搜尋到自動執行檔,其中倘若搜尋到自動執行檔時,則在步驟S307中會標記儲存自動執行檔的位址。
請再參照圖2,資料管理單元220是耦接至微處理器單元202,並且具有比對單元210與過濾單元212。
比對單元210是用以判斷電腦主機200所讀取的資料是否為自動執行檔。具體來說,比對單元210會判斷電腦主機200所存取的位址是否為掃描單元208所記錄的標記位址,其中倘若電腦主機200所存取的位址為掃描單元208所記錄的標記位址時,則比對單元210會判斷電腦主機200所讀取的資料為自動執行檔。
過濾單元212是耦接至比對單元210並且用以當比對單元210判斷電腦主機200所讀取的資料為自動執行檔時以一預設資料取代自動執行檔。具體來說,由於自動執行檔可能存有已被電腦病毒修改的風險,因此當比對單元210判斷電腦主機200所讀取的資料為自動執行檔時過濾單元212會傳送預設的預設資料給電腦主機200,以使得電腦主機200讀取此預設資料時不會執行任何動作,由此避免電腦主機200因執行自動執行檔而感染電腦病毒。例如,在本範例實施例中是以內容為「Open=」(即,Open後面是等於空白,換句話說是在Open後面不填任何東西來讓主機系統不動作)之檔案作為上述預設資料。此外,在本發明另一範例實施例中,上述預設資料亦可以是特定訊息長度的一亂數值或一固定值。
在本發明另一範例實施例中,控制器110更包括啟閉單元214。啟閉單元214是耦接至微處理器單元202並且用以開啟或關閉資料管理單元220。具體來說,當儲存裝置100之使用者欲使用防電腦病毒擴散功能時,微處理器單元202會指示啟閉單元214開啟資料管理單元220,而不執行儲存媒體120中的自動執行檔。反之,當儲存裝置100之使用者不使用防電腦病毒擴散功能時,微處理器單元202會指示啟閉單元214關閉資料管理單元220,而執行儲存媒體120中的自動執行檔。
值得一提的是,如上所述,儘管掃描單元208、比對單元210、過濾單元212與啟閉單元214是以一硬體型式實作在控制器110中,然而本發明不限於此。在另一範例實施例中,掃描單元208、比對單元210、過濾單元212與啟閉單元214可以是以一韌體型式實作在控制器110中。例如,將完成掃描單元208、比對單元210、過濾單元212與啟閉單元214之功能的多個程式燒錄至一程式記憶體(例如,唯讀記憶體(Read Only Memory,ROM))中並且將此程式記憶體嵌入在控制器110中,當儲存裝置100運作時,此些程式會由微處理器單元202來執行以完成根據本發明實施例的防電腦病毒擴散機制。
在本發明另一實施例中,完成掃描單元208、比對單元210、過濾單元212與啟閉單元214之功能的多個程式亦可以軟體型式儲存於儲存媒體120的特定區域(例如,快閃記憶體或磁盤中專用於存放系統資料的系統區)中。同樣的,當儲存裝置100運作時,此些程式會由微處理器單元202來執行。
此外,在本發明另一範例實施例中,控制器亦可包括其他電路單元。圖4是根據本發明另一範例實施例所繪示的控制器的方塊圖。
請參照圖4,除了上述微處理器單元202、第一介面單元204、第二介面單元206、掃描單元208、比對單元210、過濾單元212與啟閉單元214之外,控制器110’更包括光罩式唯讀記憶體(Mask ROM)402、程式隨機存取記憶體(Program Random Access Memory)404、安全引擎(Security Engine)單元406、錯誤校正(Error Checking and Correcting,ECC)單元408與緩衝記憶體410,其中,光罩式唯讀記憶體402與程式隨機存取記憶體404是透過多工器(MUX)422耦接至微處理器單元202,而緩衝記憶體410是透過仲裁器(Arbiter)424耦接至微處理器單元202,並且掃描單元208、比對單元210、過濾單元212與啟閉單元214是透過仲裁器426耦接至微處理器單元202。
光罩式唯讀記憶體402是用以儲存用於控制器110的資訊或程式碼,特別是,此些資訊或程式碼是不允許被更動的。程式隨機存取記憶體404是用以暫時地存放微處理器單元202所正執行的韌體碼。具體來說,由於程式隨機存取記憶體的運作速度較快,因此將微處理器單元202所正執行的韌體碼先載入至程式隨機存取記憶體可提升控制器110的運作效率。例如,在以韌體或軟體型式實作掃描單元208、比對單元210、過濾單元212與啟閉單元214的例子中,在儲存裝置100初始化時,完成此些單元之功能的程式會被載入至程式隨機存取記憶體後,再由微處理器單元202來執行。
安全引擎單元406是耦接至微處理器單元202並且用以加解密寫入至儲存媒體120中的資料,以確保資料的可靠性。
錯誤校正單元408是耦接至微處理器單元202並且用以依據電腦主機200欲寫入至儲存媒體120的資料產生錯誤校正碼(Error Correcting Code),並且於電腦主機200欲從讀取儲存媒體120中讀取資料時依據所產生的錯誤校正碼執行一錯誤校正程序以確保資料的正確性。
緩衝記憶體410用以暫存電腦主機200欲寫入至儲存媒體120的資料或電腦主機200欲從讀取儲存媒體120中讀取的資料。緩衝記憶體410為靜態隨機存取記憶體(Static Random Access memory,SRAM)。然而,必須瞭解的是,本發明不限於此,動態隨機存取記憶體(Dynamic Random Access memory,DRAM)、磁阻式記憶體(Magnetoresistive Random Access Memory,MRAM)、相變化記憶體(Phase Change Random Access Memory,PRAM)、單層記憶胞(Single Level Cell,SLC)NAND快閃記憶體或其他適合的記憶體亦可應用於本發明。
基於上述架構,根據本範例實施例的儲存裝置100可防止自動執行檔型電腦病毒的擴散。
圖5是根據本發明第一範例實施例所繪示的防電腦病毒擴散步驟的流程圖。
請參照圖5,在儲存裝置100執行圖3的步驟而初始化後,當儲存裝置100從電腦主機200中接收到讀取指令時,首先,在步驟S501中會判斷防電腦病毒擴散功能是否有開啟(即,資料管理單元220是否作動)。倘若防電腦病毒擴散功能未開啟時,則在步驟S503中會依據所接收的讀取指令從儲存媒體120中讀取資料並傳送給電腦主機200。
倘若防電腦病毒擴散功能已開啟時,則在步驟S505中會判斷讀取指令中的讀取位址是否為上述標記位址。倘若讀取指令中的讀取位址非為上述標記位址時,則執行步驟S503。反之,倘若讀取指令中的讀取位址為上述標記位址時,則在步驟S507中會以上述預設資料取代所讀取的資料並且將此預設資料傳送至電腦主機200。
圖6是根據本發明第二範例實施例所繪示的儲存系統的方塊圖。
儲存系統包括儲存裝置600與儲存裝置驅動程式640。
儲存裝置600包括控制器610、儲存媒體620、連接器630。
控制器610是會執行以硬體型式或韌體型式實作的多個邏輯閘或機械指令以配合連接器630與儲存媒體620來進行資料的寫入、讀取與抹除等運作。
儲存媒體620是耦接至控制器610,並且用以在控制器610的操作下儲存資料。在本範例實施中,儲存媒體620為多層記憶胞(Multi Level Cell,MLC)NAND快閃記憶體。然而,必須瞭解的是,本發明不限於此。在本發明另一範例實施例中,單層記憶胞(Single Level Cell,SLC)NAND快閃記憶體或磁盤(disk)亦可應用於本發明。
連接器630是耦接至控制器610並且用以透過匯流排900連接電腦主機700。在本實施例中,連接器630為USB連接器。然而,必須瞭解的是本發明不限於此,連接器630亦可以是SATA連接器、IEEE 1394連接器、PCI Express連接器、MS連接器、MMC連接器、SD連接器、CF連接器、IDE連接器或其他適合的連接器。
儲存裝置驅動程式640是安裝在電腦主機700的作業系統710中,並且可由使用者自行執行或直接掛載在作業系統710中。儲存裝置驅動程式640會依據作業系統710的指令向儲存裝置600提出請求。特別是,儲存裝置驅動程式640包括高階驅動程式650與低階驅動程式660,其中當作業系統710從儲存裝置600中讀取資料時,低階驅動程式660會蒐集此些以扇區為單位所傳送的資料,而高階驅動程式650會處理所蒐集的資料。
具體來說,高階驅動程式650包括具有比對單元652與過濾單元654的資料管理單元以及啟閉單元656。
比對單元652是用以判斷作業系統710所讀取的資料是否為自動執行檔。
過濾單元654是用以當比對單元652判斷作業系統710所讀取的資料為自動執行檔時以一預設資料取代自動執行檔。例如,以內容為“0”之檔案作為此預設資料。此外,在本發明另一範例實施例中,上述預設資料亦可以是特定訊息長度的一亂數值或一固定值。
啟閉單元656是用以開啟或關閉比對單元652與過濾單元654。
基於上述架構,根據本範例實施例的儲存系統可防止自動執行檔型電腦病毒的擴散。
圖7是根據本發明第二範例實施例所繪示的防電腦病毒擴散步驟的流程圖。
請參照圖7,當從儲存裝置600中接收到資料時,首先,在步驟S701中會判斷防電腦病毒擴散功能是否有開啟(即,啟閉單元656是否已開啟比對單元652與過濾單元654)。倘若防電腦病毒擴散功能未開啟時,則在步驟S703中儲存裝置驅動程式640會將從儲存裝置600中接收到的資料傳送給作業系統710。
倘若防電腦病毒擴散功能已開啟時,則在步驟S705中比對單元652會判斷所讀取的資料是否為自動執行檔。倘若所讀取的資料不為自動執行檔時,則執行步驟S703。反之,所讀取的資料為自動執行檔時,則在步驟S707中過濾單元654會以預設資料取代所讀取的資料並且將預設資料傳送給作業系統710。
值得一提的是,在上述第二範例實施例中是在儲存裝置驅動程式中實作比對單元、過濾單元與啟閉單元,然而本發明不限於此,在另一範例實施例中,比對單元、過濾單元與啟閉單元亦可以掛鉤應用程式(Hook Application)來實現。
圖8是根據本發明第三範例實施例所繪示的儲存系統的方塊圖。
如圖8所示,儲存系統包括儲存裝置600與掛鉤應用程式810。
儲存裝置600的結構已描述如上,在此不重複描述。
掛鉤應用程式810是一種視窗作業系統的應用程式。
視窗作業系統是以事件來觸發對應的動作,而掛鉤應用程式810可攔截事件所傳送的訊息,並且進行對應的處理。掛鉤應用程式810可由使用者自行執行或直接掛載在作業系統710的掛鉤鏈(Hook Chain)中。
掛鉤應用程式810包括具有比對單元812與過濾單元814的資料管理單元以及啟閉單元816。
比對單元812是用以判斷作業系統710所讀取的資料是否為自動執行檔。
過濾單元814是用以當比對單元812判斷作業系統710所讀取的資料為自動執行檔時以一預設資料取代自動執行檔。例如,以內容為“0”之檔案作為此預設資料。此外,在本發明另一範例實施例中,上述預設資料亦可以是特定訊息長度的一亂數值或一固定值。
啟閉單元816是用以開啟或關閉比對單元812與過濾單元814。
必須瞭解的是,本範例實施例的防電腦病毒擴散步驟是類似於圖7的流程圖,在此不再重複說明。
綜上所述,本發明範例實施例所提出的儲存系統會過濾電腦主機所讀取的資料是否為自動執行檔,並且當所讀取的資料為自動執行檔時,以預設資料取代自動執行檔來傳送給電腦主機,由此防止被電腦病毒改寫的自動執行檔傳送至電腦主機而散佈此電腦病毒。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100...儲存系統
110、110’、610...控制器
120、620...儲存媒體
130、630...連接器
200、700...電腦主機
202...微處理器單元
204...第一介面單元
204a...第一介面控制器單元
204b...第一介面實體層單元
206...第二介面單元
206a...第二介面控制器單元
206b...第二介面實體層單元
208...掃描單元
210...比對單元
212...過濾單元
214...啟閉單元
220...資料管理單元
300、900...匯流排
S301、S303、S305、S307...掃描自動執行檔的步驟
402...光罩式唯讀記憶體
404...程式隨機存取記憶體
406...安全引擎單元
408...錯誤校正單元
410...緩衝記憶體
422...是透過多工器
424、426...仲裁器
S501、S503、S505、S507...防電腦病毒擴散的步驟
600...儲存裝置
640...儲存裝置驅動程式
650...高階驅動程式
652、812...比對單元
654、814...過濾單元
656、816...啟閉單元
660...低階驅動程式
710...作業系統
S701、S703、S705、S707...防電腦病毒擴散的步驟
810...掛鉤應用程式
圖1是根據本發明第一範例實施例所繪示的儲存系統的概要方塊圖。
圖2是繪示圖1的控制器的概要方塊圖。
圖3是根據本範例實施例所繪示的記錄標記位址的流程圖。
圖4是根據本發明另一範例實施例所繪示的控制器的方塊圖。
圖5是根據本發明第一範例實施例所繪示的防電腦病毒擴散步驟的流程圖。
圖6是根據本發明第二範例實施例所繪示的儲存系統的方塊圖。
圖7是根據本發明第二範例實施例所繪示的防電腦病毒擴散步驟的流程圖
圖8是根據本發明第三範例實施例所繪示的儲存系統的方塊圖。
202...微處理器單元
204...第一介面單元
204a...第一介面控制器單元
204b...第一介面實體層單元
206...第二介面單元
206a...第二介面控制器單元
206b...第二介面實體層單元
208...掃描單元
210...比對單元
212...過濾單元
214...啟閉單元
220...資料管理單元
300...匯流排
402...光罩式唯讀記憶體
404...程式隨機存取記憶體
406...安全引擎單元
408...錯誤校正單元
410...緩衝記憶體
422...是透過多工器
424、426...仲裁器
Claims (22)
- 一種控制器,包括:一微處理器單元;一第一介面單元,耦接至該微處理器單元,用以連接一儲存媒體;一第二介面單元,耦接至該微處理器單元,用以連接一電腦主機;以及一資料管理單元,耦接至該微處理器單元,用以當該電腦主機欲從該儲存媒體中讀取的資料為一自動執行檔時,將一預設資料傳送給該電腦主機以取代該電腦主機從該儲存媒體中讀取的資料。
- 如申請專利範圍第1項所述之控制器,其中該資料管理單元包括:一比對單元,耦接至該微處理單元,用以判斷該電腦主機從該儲存媒體中讀取的資料是否為該自動執行檔;以及一過濾單元,耦接至該比對單元,用以當該比對單元判斷該電腦主機從該儲存媒體中讀取的資料為該自動執行檔時將該預設資料傳送給該電腦主機以取代該電腦主機從該儲存媒體中讀取的資料。
- 如申請專利範圍第1項所述之控制器,其中該儲存媒體為一快閃記憶體且該第一介面單元為一快閃記憶體介面單元。
- 如申請專利範圍第1項所述之控制器,更包括一啟閉單元,耦接至該微處理器單元並且用以開啟或關閉該資料管理單元。
- 如申請專利範圍第1項所述之控制器,更包括一掃描單元,耦接至該微處理器單元並且用以依據儲存在該儲存媒體中的一檔案配置表對該儲存媒體搜尋該自動執行檔,其中該掃描單元會記錄在該儲存媒體中儲存該自動執行檔的一標記位址。
- 如申請專利範圍第5項所述之控制器,其中該資料管理單元根據該標記位址來判斷該電腦主機從該儲存媒體中讀取的資料是否為該自動執行檔。
- 如申請專利範圍第1項所述之控制器,其中該預設資料為特定訊息長度的一亂數值或一固定值。
- 一種具防電腦病毒擴散功能的儲存系統,包括:一控制器;一連接器,耦接至該控制器,用以連接具有一作業系統的一電腦主機;一儲存媒體,耦接至該控制器,用以在該控制器的控制下儲存該電腦主機欲寫入的資料;以及一資料管理單元,用以當該電腦主機欲從該儲存媒體中讀取的資料為一自動執行檔時,將一預設資料傳送給該電腦主機以取代該電腦主機從該儲存媒體中讀取的資料。
- 如申請專利範圍第8項所述之具防電腦病毒擴散功能的儲存系統,其中該資料管理單元係配置在該控制器中。
- 如申請專利範圍第8項所述之具防電腦病毒擴散功能的儲存系統,其中該資料管理單元係配置在該電腦主機中。
- 如申請專利範圍第10項所述之具防電腦病毒擴散功能的儲存系統,其中該資料管理單元包括:一比對單元,用以判斷該電腦主機從該儲存媒體中讀取的資料是否為該自動執行檔;以及一過濾單元,用以當該比對單元判斷該電腦主機從該儲存媒體中讀取的資料為該自動執行檔時傳送該預設資料給該電腦主機以取代該電腦主機從該儲存媒體中讀取的資料。
- 如申請專利範圍第8項所述之具防電腦病毒擴散功能的儲存系統,其中該儲存媒體包括一快閃記憶體或一磁盤。
- 如申請專利範圍第10項所述之具防電腦病毒擴散功能的儲存系統,更包括一啟閉單元,耦接至該資料管理單元並且用以開啟或關閉該資料管理單元。
- 如申請專利範圍第10項所述之具防電腦病毒擴散功能的儲存系統,其中該資料管理單元為一儲存裝置驅動程式的一高階驅動程式。
- 如申請專利範圍第14項所述之具防電腦病毒擴散功能的儲存系統,其中該儲存裝置驅動程式更包括一低階驅動程式,用以蒐集該電腦主機從該儲存媒體中讀取的資料,並且將所蒐集的資料傳送給該高階驅動程式。
- 如申請專利範圍第10項所述之具防電腦病毒擴散功能的儲存系統,其中該資料管理單元為一掛鉤應用程式。
- 一種防電腦病毒擴散方法,包括:提供一儲存裝置,並耦接至一電腦主機,其中該電腦主機具有一作業系統;判斷該作業系統從該儲存裝置中讀取的資料是否為一自動執行檔;以及當該作業系統從該儲存裝置中讀取的資料為該自動執行檔時將一預設資料傳送給該作業系統以取代該作業系統從該儲存裝置中讀取的資料。
- 如申請專利範圍第17項所述之防電腦病毒擴散方法,更包括:依據儲存在該儲存裝置中的一檔案配置表對該儲存裝置搜尋該自動執行檔;以及當搜尋到該自動執行檔時,記錄儲存該自動執行檔的一標記位址。
- 如申請專利範圍第18項所述之防電腦病毒擴散方法,其中判斷該作業系統是否從該儲存裝置中讀取該自動執行檔的步驟包括:判斷該作業系統是否從該標記位址中讀取資料;以及當該作業系統是從該標記位址中讀取資料時,則判斷該作業系統從該儲存裝置中讀取的資料為該自動執行檔。
- 如申請專利範圍第17項所述之防電腦病毒擴散方法,其中判斷該作業系統是否從該儲存裝置中讀取該自動執行檔的步驟包括:由配置在該作業系統中且用以驅動該儲存裝置的一儲存裝置驅動程式來識別該作業系統從該儲存裝置中讀取的資料是否為該自動執行檔。
- 如申請專利範圍第17項所述之防電腦病毒擴散方法,其中判斷該作業系統是否從該儲存裝置中讀取該自動執行檔的步驟包括:由配置在該作業系統中的一掛鉤應用程式攔截該作業系統從該儲存裝置中讀取的資料;以及判斷該作業系統所讀取的資料是否為該自動執行檔。
- 如申請專利範圍第17項所述之防電腦病毒擴散方法,其中該預設資料為特定訊息長度的一亂數值或一固定值。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98114877A TWI396994B (zh) | 2009-05-05 | 2009-05-05 | 防電腦病毒擴散的控制器及其儲存系統與方法 |
US12/504,947 US8776232B2 (en) | 2009-05-05 | 2009-07-17 | Controller capable of preventing spread of computer viruses and storage system and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98114877A TWI396994B (zh) | 2009-05-05 | 2009-05-05 | 防電腦病毒擴散的控制器及其儲存系統與方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201040776A TW201040776A (en) | 2010-11-16 |
TWI396994B true TWI396994B (zh) | 2013-05-21 |
Family
ID=43063170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW98114877A TWI396994B (zh) | 2009-05-05 | 2009-05-05 | 防電腦病毒擴散的控制器及其儲存系統與方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8776232B2 (zh) |
TW (1) | TWI396994B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI497414B (zh) * | 2009-06-23 | 2015-08-21 | Phison Electronics Corp | 檔案執行方法及系統 |
US20130074178A1 (en) * | 2011-09-15 | 2013-03-21 | Sandisk Technologies Inc. | Preventing access of a host device to malicious data in a portable device |
JP5888963B2 (ja) * | 2011-12-16 | 2016-03-22 | 三菱電機株式会社 | 制御システム、制御方法およびプログラム |
CN109074455B (zh) * | 2016-04-25 | 2022-04-29 | 横河电机株式会社 | 擦除装置 |
US10798104B2 (en) * | 2018-01-15 | 2020-10-06 | Ford Global Technologies, Llc | Networked communications control for vehicles |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801122A (zh) * | 2004-12-31 | 2006-07-12 | 联想(北京)有限公司 | 对usb存储器中自动运行程序进行控制的方法及usb存储器 |
US20080066179A1 (en) * | 2006-09-11 | 2008-03-13 | Fujian Eastern Micropoint Info-Tech Co., Ltd. | Antivirus protection system and method for computers |
TW200842716A (en) * | 2007-02-28 | 2008-11-01 | Microsoft Corp | Spyware detection mechanism |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141698A (en) * | 1997-01-29 | 2000-10-31 | Network Commerce Inc. | Method and system for injecting new code into existing application code |
US6941405B2 (en) * | 2001-08-21 | 2005-09-06 | 02Micro International Limited | System and method capable of offloading converter/controller-specific tasks to a system microprocessor |
EP1618598A4 (en) * | 2003-04-11 | 2008-07-16 | Flexiworld Technologies Inc | AUTORUN FOR AN INTEGRATED MEMORY COMPONENT |
US20050086413A1 (en) * | 2003-10-15 | 2005-04-21 | Super Talent Electronics Inc. | Capacity Expansion of Flash Memory Device with a Daisy-Chainable Structure and an Integrated Hub |
TWM250252U (en) * | 2003-11-14 | 2004-11-11 | Carry Computer Eng Co Ltd | Express card-interfaced adatper for small storage medium |
US7762470B2 (en) * | 2003-11-17 | 2010-07-27 | Dpd Patent Trust Ltd. | RFID token with multiple interface controller |
US20050138288A1 (en) * | 2003-12-23 | 2005-06-23 | Horng-Yee Chou | Dual mode USB and PCI express device |
US6993618B2 (en) * | 2004-01-15 | 2006-01-31 | Super Talent Electronics, Inc. | Dual-mode flash storage exchanger that transfers flash-card data to a removable USB flash key-drive with or without a PC host |
US7069369B2 (en) * | 2004-02-12 | 2006-06-27 | Super Talent Electronics, Inc. | Extended-Secure-Digital interface using a second protocol for faster transfers |
WO2006047163A2 (en) * | 2004-10-26 | 2006-05-04 | Priderock, L.L.C. | System and method for identifying and removing malware on a computer system |
EP1684151A1 (en) * | 2005-01-20 | 2006-07-26 | Grant Rothwell William | Computer protection against malware affection |
KR20060112941A (ko) * | 2005-04-28 | 2006-11-02 | 이병학 | 포맷스트링 보안허점 수정 장치 |
CN101513008B (zh) * | 2006-07-31 | 2012-09-19 | 意大利电信股份公司 | 在电信终端上实现安全性的系统 |
GB0810695D0 (en) * | 2008-06-12 | 2008-07-16 | Metaforic Ltd | Anti-tampering MMU defence |
US20100154062A1 (en) * | 2008-12-16 | 2010-06-17 | Elad Baram | Virus Scanning Executed Within a Storage Device to Reduce Demand on Host Resources |
US8307435B1 (en) * | 2010-02-18 | 2012-11-06 | Symantec Corporation | Software object corruption detection |
-
2009
- 2009-05-05 TW TW98114877A patent/TWI396994B/zh active
- 2009-07-17 US US12/504,947 patent/US8776232B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801122A (zh) * | 2004-12-31 | 2006-07-12 | 联想(北京)有限公司 | 对usb存储器中自动运行程序进行控制的方法及usb存储器 |
US20080066179A1 (en) * | 2006-09-11 | 2008-03-13 | Fujian Eastern Micropoint Info-Tech Co., Ltd. | Antivirus protection system and method for computers |
TW200842716A (en) * | 2007-02-28 | 2008-11-01 | Microsoft Corp | Spyware detection mechanism |
Also Published As
Publication number | Publication date |
---|---|
US20100287616A1 (en) | 2010-11-11 |
TW201040776A (en) | 2010-11-16 |
US8776232B2 (en) | 2014-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI385523B (zh) | 用於快閃記憶體的資料備份方法及其控制器與儲存系統 | |
TWI432987B (zh) | 記憶體儲存裝置、其記憶體控制器與病毒掃描方法 | |
US8316201B2 (en) | Methods for executing a command to write data from a source location to a destination location in a memory device | |
US8429358B2 (en) | Method and data storage device for processing commands | |
KR101395778B1 (ko) | 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법 | |
TWI557561B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
US20100161932A1 (en) | Methods for writing data from a source location to a destination location in a memory device | |
US20190244638A1 (en) | Dynamic hybrid shingled magnetic recording | |
TWI423026B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
JP2006031396A (ja) | 半導体記憶デバイス | |
US8255656B2 (en) | Storage device, memory controller, and data protection method | |
TWI516936B (zh) | 運作模式切換方法、記憶體控制器與記憶體儲存裝置 | |
JP2008547068A (ja) | 複数個のdmaチャンネルを有するusb−sd保存装置及びその保存方法と記録媒体 | |
TWI421686B (zh) | 資料存取方法與系統、儲存媒體控制器與儲存系統 | |
TWI396994B (zh) | 防電腦病毒擴散的控制器及其儲存系統與方法 | |
TWI419169B (zh) | 用於快閃記憶體的資料存取方法及其儲存系統與控制器 | |
US20110231621A1 (en) | System recovery method, and storage medium controller and storage system using the same | |
JP4791807B2 (ja) | パソコン装置における音声映像データの読み書き方法とシステム | |
US8489802B2 (en) | Recordable memory device which writes data to reformatted user area of nonvolatile semiconductor memory | |
US7263468B2 (en) | Method for storing access record in network communication device | |
TWI454908B (zh) | 記憶體組態方法、記憶體控制器與記憶體儲存裝置 | |
US8296275B2 (en) | Data processing method, data processing system, and storage device controller | |
US8627157B2 (en) | Storing apparatus | |
TWI451250B (zh) | 記憶體組態方法、記憶體控制器與記憶體儲存裝置 | |
TWI492050B (zh) | 儲存裝置、記憶體控制器及資料保護方法 |